openrndr
Module Contents
alltypes
Module Contents
open class Animatable
Module Contents
Animatable(target: Any)
Animatable()
Animatable(createAtTime: Long)
fun add(variable: String, target: Double, duration: Long): Unit
fun add(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun add(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
@JvmName("animateProp") fun KMutableProperty0<Double>.animate(target: Double, duration: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
fun animate(variable: KMutableProperty0<*>, target: Double, durationMillis: Long, easing: Easing = Easing.None): Unit
fun animationCount(): Int
fun array(variable: String, index: Int): String
fun cancel(): Unit
fun cancel(fields: Array<String>): Unit
fun cancelQueued(): Unit
fun clock(clock: Clock): Unit
fun clock(): Clock
fun complete(variable: String): Unit
fun complete(callback: (Animatable) -> Unit): Unit
fun complete(animatable: Animatable): Unit
fun complete(animatable: Animatable = this, callback: (Animatable) -> Unit = null): Unit
fun delay(durationMillis: Long, durationNanos: Long = 0): Unit
fun duration(): Long
fun ease(easing: Easing): Unit
fun ease(easer: Easer): Unit
fun end(): Unit
fun hasAnimations(): Boolean
fun hasAnimations(vararg variables: String): Boolean
fun popTime(): Unit
fun pushTime(): Unit
@JvmOverloads fun updateAnimation(time: Long = clock.timeNanos): Unit
fun velocity(variable: String): Double
fun waitUntil(timeMillis: Long, timeNanos: Long = 0): Unit
abstract class Application
class ApplicationBuilder
@DslMarker annotation class ApplicationDslMarker
class ApplicationEGLGL3 : Application
class ApplicationGLFWGL3 : Application
interface ArrayTexture
Module Contents
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract fun copyTo(layer: Int, target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(layer: Int, target: ArrayTexture, targetLayer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun destroy(): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val height: Int
abstract val layers: Int
abstract val levels: Int
abstract fun read(layer: Int, buffer: ByteBuffer, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
class ArrayTextureGL3 : ArrayTexture
Module Contents
ArrayTextureGL3(target: Int, texture: Int, width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int, session: Session?)
fun bind(unit: Int): Unit
fun copyTo(layer: Int, target: ColorBuffer, fromLevel: Int, toLevel: Int): Unit
fun copyTo(layer: Int, target: ArrayTexture, targetLayer: Int, fromLevel: Int, toLevel: Int): Unit
fun create(width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int, session: Session?): ArrayTextureGL3
fun destroy(): Unit
var filterMag: MagnifyingFilter
var filterMin: MinifyingFilter
var flipV: Boolean
val format: ColorFormat
fun generateMipmaps(): Unit
val height: Int
val layers: Int
val levels: Int
fun read(layer: Int, buffer: ByteBuffer, level: Int): Unit
val session: Session?
val target: Int
val texture: Int
val type: ColorType
val width: Int
var wrapU: WrapMode
var wrapV: WrapMode
fun write(layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat, sourceType: ColorType, level: Int): Unit
interface AtomicCounterBuffer
class AtomicCounterBufferGL43 : AtomicCounterBuffer
class AudioBuffer
class AudioData
enum class AudioFormat
class AudioQueueSource : AudioSource
open class AudioSource
object AudioSystem
class BackIn : Easer
enum class BlendMode
sealed class BufferMultisample
interface BufferTexture
class BufferTextureGL3 : BufferTexture
interface BufferTextureShadow
class BufferTextureShadowGL3 : BufferTextureShadow
interface BufferWriter
class BufferWriterGL3 : BufferWriter
class CatmulRom1
class CatmullRom2
class CatmullRom3
class CatmullRomChain1
class CatmullRomChain2
class CatmullRomChain3
class CenterOrderer : Orderer
class CenteredBinarySplitter : Splitter
Module Contents
CenteredBinarySplitter(enclosement: IntRectangle, invert: Boolean = true, constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true }, xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true}, ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true})
val constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean
val enclosement: IntRectangle
val invert: Boolean
fun split(node: PackNode, rectangle: IntRectangle): List<PackNode>
val xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean
val ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean
class ChannelMask
data class CharacterPair
class CharacterRectangle
class Circle
class CircleDrawer
Module Contents
CircleDrawer()
fun drawCircle(drawContext: DrawContext, drawStyle: DrawStyle, x: Double, y: Double, radius: Double): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, radii: List<Double>): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, radius: Double): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, circles: List<Circle>): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, instanceAttributes: VertexBuffer, count: Int): Unit
interface Clipper
interface Clock
class Color : CompositionColor
data class ColorATVa
interface ColorBuffer
Module Contents
abstract var anisotropy: Double
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract val contentScale: Double
abstract fun copyTo(target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(target: ArrayTexture, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
open fun createEquivalent(width: Int = this.width, height: Int = this.height, contentScale: Double = this.contentScale, format: ColorFormat = this.format, type: ColorType = this.type, multisample: BufferMultisample = this.multisample, levels: Int = this.levels): ColorBuffer
abstract fun destroy(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract fun fill(color: ColorRGBa): Unit
open fun filter(filterMin: MinifyingFilter, filterMag: MagnifyingFilter): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
fun fromArray(bytes: ByteArray, offset: Int = 0, length: Int = bytes.size, session: Session? = Session.active): ColorBuffer
fun fromBuffer(bytes: ByteBuffer, session: Session? = Session.active): ColorBuffer
fun fromFile(file: File, session: Session? = Session.active): ColorBuffer
fun fromFile(filename: String, session: Session? = Session.active): ColorBuffer
fun fromStream(stream: InputStream, formatHint: String? = null, session: Session? = Session.active): ColorBuffer
fun fromUrl(url: String, session: Session? = Session.active): ColorBuffer
abstract fun generateMipmaps(): Unit
abstract val height: Int
open fun isEquivalentTo(other: ColorBuffer, ignoreMultisample: Boolean = false, ignoreLevels: Boolean = false): Boolean
abstract val levels: Int
abstract val multisample: BufferMultisample
abstract fun read(buffer: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract fun resolveTo(target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun saveToFile(file: File, imageFileFormat: ImageFileFormat = ImageFileFormat.guessFromExtension(file), async: Boolean = true): Unit
abstract val session: Session?
abstract val shadow: ColorBufferShadow
abstract fun toDataUrl(imageFileFormat: ImageFileFormat = ImageFileFormat.JPG): String
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
class ColorBufferDataGL3
Module Contents
ColorBufferDataGL3(width: Int, height: Int, format: ColorFormat, type: ColorType, data: ByteBuffer?, destroyFunction: (ByteBuffer) -> Unit = null)
var data: ByteBuffer?
fun destroy(): Unit
var destroyFunction: (ByteBuffer) -> Unit
val format: ColorFormat
fun fromArray(bytes: ByteArray, offset: Int = 0, length: Int = bytes.size, name: String? = null, formatHint: ImageFileFormat? = null): ColorBufferDataGL3
fun fromByteBuffer(buffer: ByteBuffer, name: String? = null, formatHint: ImageFileFormat? = null): ColorBufferDataGL3
fun fromFile(filename: String): ColorBufferDataGL3
fun fromStream(stream: InputStream, name: String? = null, formatHint: ImageFileFormat? = null): ColorBufferDataGL3
fun fromUrl(urlString: String): ColorBufferDataGL3
val height: Int
val type: ColorType
val width: Int
class ColorBufferGL3 : ColorBuffer
Module Contents
ColorBufferGL3(target: Int, texture: Int, width: Int, height: Int, contentScale: Double, format: ColorFormat, type: ColorType, levels: Int, multisample: BufferMultisample, session: Session?)
var anisotropy: Double
fun bind(unit: Int): Unit
fun bound(f: ColorBufferGL3.() -> Unit): Unit
val contentScale: Double
fun copyTo(target: ColorBuffer, fromLevel: Int, toLevel: Int): Unit
fun copyTo(target: ArrayTexture, layer: Int, fromLevel: Int, toLevel: Int): Unit
fun create(width: Int, height: Int, contentScale: Double = 1.0, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.FLOAT32, multisample: BufferMultisample, levels: Int, session: Session?): ColorBufferGL3
fun destroy(): Unit
fun destroyShadow(): Unit
fun fill(color: ColorRGBa): Unit
var filterMag: MagnifyingFilter
var filterMin: MinifyingFilter
var flipV: Boolean
val format: ColorFormat
fun fromArray(array: ByteArray, offset: Int = 0, length: Int = array.size, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun fromBuffer(buffer: ByteBuffer, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun fromColorBufferData(data: ColorBufferDataGL3, session: Session?): ColorBuffer
fun fromFile(filename: String, session: Session?): ColorBuffer
fun fromStream(stream: InputStream, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun fromUrl(url: String, session: Session?): ColorBuffer
fun generateMipmaps(): Unit
val height: Int
val levels: Int
val multisample: BufferMultisample
fun read(buffer: ByteBuffer, targetFormat: ColorFormat, targetType: ColorType, level: Int): Unit
var realShadow: ColorBufferShadow?
fun resolveTo(target: ColorBuffer, fromLevel: Int, toLevel: Int): Unit
fun saveToFile(file: File, imageFileFormat: ImageFileFormat, async: Boolean): Unit
val session: Session?
val shadow: ColorBufferShadow
val target: Int
val texture: Int
fun toDataUrl(imageFileFormat: ImageFileFormat): String
val type: ColorType
val width: Int
var wrapU: WrapMode
var wrapV: WrapMode
fun write(buffer: ByteBuffer, sourceFormat: ColorFormat, sourceType: ColorType, level: Int): Unit
class ColorBufferLoader
data class ColorBufferProxy
interface ColorBufferShadow
Module Contents
abstract val buffer: ByteBuffer
abstract val colorBuffer: ColorBuffer
abstract fun destroy(): Unit
abstract fun download(): Unit
open fun <T> flatMapIndexed(xrange: IntProgression = 0 until this.colorBuffer.effectiveWidth, yrange: IntProgression = 0 until this.colorBuffer.effectiveHeight, mapper: (x: Int, y: Int, r: Double, g: Double, b: Double, a: Double) -> T): List<T>
open operator fun get(x: Int, y: Int): ColorRGBa
abstract fun mapBoolean(mapper: (r: Double, g: Double, b: Double, a: Double) -> Boolean): Array<BooleanArray>
abstract fun mapDouble(mapper: (r: Double, g: Double, b: Double, a: Double) -> Double): Array<DoubleArray>
abstract fun mapFloat(mapper: (r: Double, g: Double, b: Double, a: Double) -> Float): Array<FloatArray>
abstract fun <T> mapIndexed(xrange: IntProgression = 0 until this.colorBuffer.effectiveWidth, yrange: IntProgression = 0 until this.colorBuffer.effectiveHeight, mapper: (x: Int, y: Int, r: Double, g: Double, b: Double, a: Double) -> T): Array<List<T>>
abstract fun mapInt(mapper: (r: Double, g: Double, b: Double, a: Double) -> Int): Array<IntArray>
abstract fun read(x: Int, y: Int): ColorRGBa
open operator fun set(x: Int, y: Int, c: ColorRGBa): Unit
abstract fun upload(): Unit
abstract fun write(x: Int, y: Int, r: Double, g: Double, b: Double, a: Double): Unit
open fun write(x: Int, y: Int, color: ColorRGBa): Unit
open fun write(x: Int, y: Int, r: Float, g: Float, b: Float, a: Float): Unit
abstract fun writer(): BufferWriter
class ColorBufferShadowGL3 : ColorBufferShadow
Module Contents
ColorBufferShadowGL3(colorBuffer: ColorBufferGL3)
val buffer: ByteBuffer
val colorBuffer: ColorBufferGL3
fun destroy(): Unit
fun download(): Unit
val elementSize: Int
inline fun mapBoolean(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Boolean): Array<BooleanArray>
inline fun mapDouble(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Double): Array<DoubleArray>
inline fun mapFloat(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Float): Array<FloatArray>
fun <T> mapIndexed(xrange: IntProgression, yrange: IntProgression, mapper: (x: Int, y: Int, r: Double, g: Double, b: Double, a: Double) -> T): Array<List<T>>
inline fun mapInt(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Int): Array<IntArray>
fun read(x: Int, y: Int): ColorRGBa
val size: Int
fun upload(): Unit
fun write(x: Int, y: Int, r: Double, g: Double, b: Double, a: Double): Unit
fun writer(): BufferWriter
enum class ColorFormat
data class ColorHSLa
data class ColorHSVa
class ColorLABa
data class ColorLCHABa
data class ColorLCHUVa
data class ColorLSHABa
data class ColorLSHUVa
data class ColorLUVa
data class ColorRGBa
enum class ColorSampling
enum class ColorType
data class ColorXSLa
data class ColorXSVa
data class ColorXYZa
data class ColorYxya
class Composition
sealed class CompositionColor
class CompositionDrawer
Module Contents
CompositionDrawer()
fun circle(position: Vector2, radius: Double): Unit
fun circle(circle: Circle): Unit
fun circles(circles: List<Circle>): Unit
fun circles(positions: List<Vector2>, radius: Double): Unit
fun circles(positions: List<Vector2>, radii: List<Double>): Unit
val composition: Composition
fun contour(contour: ShapeContour): Unit
fun contours(contours: List<ShapeContour>): Unit
var fill: ColorRGBa?
fun group(builder: CompositionDrawer.() -> Unit): Unit
fun lineLoop(points: List<Vector2>): Unit
fun lineSegment(start: Vector2, end: Vector2): Unit
fun lineSegment(lineSegment: LineSegment): Unit
fun lineSegments(lineSegments: List<LineSegment>): Unit
fun lineStrip(points: List<Vector2>): Unit
var model: Matrix44
fun popModel(): Unit
fun pushModel(): Unit
fun rectangle(rectangle: Rectangle): Unit
fun rectangle(x: Double, y: Double, width: Double, height: Double): Unit
fun rectangles(rectangles: List<Rectangle>): Unit
fun rectangles(positions: List<Vector2>, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>): Unit
val root: GroupNode
fun rotate(rotationInDegrees: Double): Unit
fun scale(s: Double): Unit
fun scale(x: Double, y: Double): Unit
fun shape(shape: Shape): Unit
fun shapes(shapes: List<Shape>): Unit
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2): Unit
fun textOnContour(text: String, path: ShapeContour): Unit
fun texts(text: List<String>, positions: List<Vector2>): Unit
fun translate(x: Double, y: Double): Unit
fun translate(t: Vector2): Unit
sealed class CompositionNode
sealed class CompositionStrokeWeight
class Compound
class CompoundBuilder
interface ComputeShader
Module Contents
abstract fun buffer(name: String, vertexBuffer: VertexBuffer): Unit
abstract fun counters(bindingIndex: Int, counterBuffer: AtomicCounterBuffer): Unit
abstract fun destroy(): Unit
abstract fun execute(width: Int = 1, height: Int = 1, depth: Int = 1): Unit
fun fromCode(code: String): ComputeShader
fun fromFile(file: File): ComputeShader
abstract fun image(name: String, image: Int, colorBuffer: ColorBuffer, access: ImageAccess = ImageAccess.READ): Unit
abstract fun image(name: String, image: Int, arrayTexture: ArrayTexture, layer: Int, access: ImageAccess = ImageAccess.READ): Unit
abstract fun image(name: String, image: Int, arrayTexture: ArrayTexture, access: ImageAccess = ImageAccess.READ): Unit
abstract fun image(name: String, image: Int, cubemap: Cubemap, access: ImageAccess = ImageAccess.READ): Unit
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
class ComputeShaderGL43 : ComputeShader
Module Contents
ComputeShaderGL43(programObject: Int, name: String = "compute_shader")
fun buffer(name: String, vertexBuffer: VertexBuffer): Unit
fun counters(bindingIndex: Int, counterBuffer: AtomicCounterBuffer): Unit
fun createFromCode(code: String): ComputeShaderGL43
fun destroy(): Unit
fun execute(width: Int, height: Int, depth: Int): Unit
fun image(name: String, image: Int, colorBuffer: ColorBuffer, access: ImageAccess): Unit
fun image(name: String, image: Int, arrayTexture: ArrayTexture, layer: Int, access: ImageAccess): Unit
fun image(name: String, image: Int, arrayTexture: ArrayTexture, access: ImageAccess): Unit
fun image(name: String, image: Int, cubemap: Cubemap, access: ImageAccess): Unit
val name: String
val programObject: Int
fun uniform(name: String, value: ColorRGBa): Unit
fun uniform(name: String, value: Vector3): Unit
fun uniform(name: String, value: Vector4): Unit
fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
fun uniform(name: String, x: Float, y: Float, z: Float): Unit
fun uniform(name: String, x: Float, y: Float): Unit
fun uniform(name: String, value: Int): Unit
fun uniform(name: String, value: Boolean): Unit
fun uniform(name: String, value: Vector2): Unit
fun uniform(name: String, value: Float): Unit
fun uniform(name: String, value: Double): Unit
fun uniform(name: String, value: Matrix33): Unit
fun uniform(name: String, value: Matrix44): Unit
fun uniform(name: String, value: Array<Vector2>): Unit
fun uniform(name: String, value: Array<Vector3>): Unit
fun uniform(name: String, value: Array<Vector4>): Unit
fun uniform(name: String, value: FloatArray): Unit
class Configuration
class ContourBuilder
Module Contents
ContourBuilder()
var anchor: Vector2
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, tx: Double, ty: Double): Unit
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, end: Vector2): Unit
fun close(): Unit
fun continueTo(end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector2, end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, x: Double, y: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector2
fun curveTo(control: Vector2, position: Vector2): Unit
fun curveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun curveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun curveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
fun lineTo(position: Vector2): Unit
fun lineTo(x: Double, y: Double): Unit
fun moveOrCurveTo(control: Vector2, position: Vector2): Unit
fun moveOrCurveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun moveOrCurveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
fun moveOrLineTo(position: Vector2): Unit
fun moveOrLineTo(x: Double, y: Double): Unit
fun moveTo(position: Vector2): Unit
fun moveTo(x: Double, y: Double): Unit
fun reverse(): Unit
val segments: MutableList<Segment>
class ContourProjection
interface Cubemap
class CubemapGL3 : Cubemap
Module Contents
CubemapGL3(texture: Int, width: Int, sides: List<ColorBuffer>, type: ColorType, format: ColorFormat, session: Session?)
fun bind(textureUnit: Int): Unit
fun create(width: Int, format: ColorFormat, type: ColorType, session: Session?): CubemapGL3
fun destroy(): Unit
fun filter(min: MinifyingFilter, mag: MagnifyingFilter): Unit
val format: ColorFormat
fun fromUrl(url: String, session: Session?): CubemapGL3
fun fromUrls(urls: List<String>, session: Session?): CubemapGL3
fun generateMipmaps(): Unit
val session: Session?
fun side(side: CubemapSide): ColorBuffer
val sides: List<ColorBuffer>
val texture: Int
val type: ColorType
val width: Int
enum class CubemapSide
class CubicIn : Easer
class CubicInOut : Easer
class CubicOut : Easer
enum class CullTestPass
class Cursor
class DDSData
class DDSPixelFormat
class DefaultClipper : Clipper
class DefaultClock : Clock
class DefaultOrderer : Orderer
class DefaultSplitter : Splitter
class Delinearize : Filter
interface DepthBuffer
class DepthBufferGL3 : DepthBuffer
Module Contents
DepthBufferGL3(texture: Int, target: Int, width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample, session: Session?)
fun bind(textureUnit: Int): Unit
fun bound(f: DepthBufferGL3.() -> Unit): Unit
fun copyTo(target: DepthBuffer): Unit
fun create(width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample, session: Session?): DepthBufferGL3
fun destroy(): Unit
val format: DepthFormat
val height: Int
val multisample: BufferMultisample
fun resolveTo(target: DepthBuffer): Unit
val session: Session?
val target: Int
val texture: Int
val width: Int
enum class DepthFormat
enum class DepthTestPass
class Dispatcher : MainCoroutineDispatcher, Delay
data class DrawContext
enum class DrawPrimitive
enum class DrawQuality
data class DrawStyle
Module Contents
DrawStyle(clip: Rectangle? = null, fill: ColorRGBa? = ColorRGBa.WHITE, stroke: ColorRGBa? = ColorRGBa.BLACK, lineCap: LineCap = LineCap.BUTT, lineJoin: LineJoin = LineJoin.MITER, strokeWeight: Double = 1.0, smooth: Boolean = true, quality: DrawQuality = DrawQuality.QUALITY, depthTestPass: DepthTestPass = DepthTestPass.ALWAYS, depthWrite: Boolean = false, blendMode: BlendMode = BlendMode.OVER, cullTestPass: CullTestPass = CullTestPass.ALWAYS, channelWriteMask: ChannelMask = ChannelMask(red = true, green = true, blue = true, alpha = true), alphaToCoverage: Boolean = false, shadeStyle: ShadeStyle? = null, fontMap: FontMap? = null, kerning: KernMode = KernMode.METRIC, stencil: StencilStyle = StencilStyle(), frontStencil: StencilStyle = stencil, backStencil: StencilStyle = stencil, colorMatrix: Matrix55 = Matrix55.IDENTITY)
var alphaToCoverage: Boolean
fun applyToShader(shader: Shader): Unit
var backStencil: StencilStyle
var blendMode: BlendMode
var channelWriteMask: ChannelMask
var clip: Rectangle?
var colorMatrix: Matrix55
var cullTestPass: CullTestPass
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var fill: ColorRGBa?
var fontMap: FontMap?
var frontStencil: StencilStyle
var kerning: KernMode
var lineCap: LineCap
var lineJoin: LineJoin
var quality: DrawQuality
var shadeStyle: ShadeStyle?
var smooth: Boolean
var stencil: StencilStyle
var stroke: ColorRGBa?
var strokeWeight: Double
interface DrawThread
class DrawThreadGL3 : DrawThread
class Drawer
Module Contents
Drawer(driver: Driver)
fun background(r: Double, g: Double, b: Double, a: Double): Unit
fun background(color: ColorRGBa): Unit
val bounds: Rectangle
fun circle(x: Double, y: Double, radius: Double): Unit
fun circle(position: Vector2, radius: Double): Unit
fun circle(circle: Circle): Unit
fun circles(positions: List<Vector2>, radius: Double): Unit
fun circles(positions: List<Vector2>, radii: List<Double>): Unit
fun circles(circles: List<Circle>): Unit
fun circles(vertexBuffer: VertexBuffer, count: Int = vertexBuffer.vertexCount): Unit
fun composition(composition: Composition): Unit
val context: DrawContext
fun contour(contour: ShapeContour): Unit
fun contours(contours: List<ShapeContour>): Unit
var cullTestPass: CullTestPass
fun defaults(): Unit
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var drawStyle: DrawStyle
val driver: Driver
var fill: ColorRGBa?
var fontMap: FontMap?
var height: Int
fun image(colorBuffer: ColorBuffer, source: Rectangle, target: Rectangle): Unit
fun image(colorBuffer: ColorBuffer, x: Double, y: Double, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer, position: Vector2, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer): Unit
fun image(colorBuffer: ColorBuffer, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, x: Double = 0.0, y: Double = 0.0, width: Double = arrayTexture.width.toDouble(), height: Double = arrayTexture.height.toDouble()): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, source: Rectangle, target: Rectangle): Unit
fun image(arrayTexture: ArrayTexture, layers: List<Int>, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
var lineCap: LineCap
var lineJoin: LineJoin
fun lineLoop(points: List<Vector2>): Unit
@JvmName("lineLoop3d") fun lineLoop(points: List<Vector3>): Unit
fun lineLoops(loops: List<List<Vector2>>): Unit
@JvmName("lineLoops3d") fun lineLoops(loops: List<List<Vector3>>): Unit
fun lineLoops(loops: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineLoops3d)") fun lineLoops(loops: List<List<Vector3>>, weights: List<Double>): Unit
fun lineSegment(x0: Double, y0: Double, x1: Double, y1: Double): Unit
fun lineSegment(lineSegment: LineSegment): Unit
fun lineSegment(start: Vector2, end: Vector2): Unit
fun lineSegment(start: Vector3, end: Vector3): Unit
fun lineSegments(segments: List<Vector2>): Unit
fun lineSegments(segments: List<Vector2>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>, colors: List<ColorRGBa>): Unit
fun lineStrip(points: List<Vector2>): Unit
@JvmName("lineStrip3d") fun lineStrip(points: List<Vector3>): Unit
fun lineStrips(strips: List<List<Vector2>>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>): Unit
fun lineStrips(strips: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>, colors: List<ColorRGBa>): Unit
fun lookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y): Unit
var model: Matrix44
fun ortho(renderTarget: RenderTarget): Unit
fun ortho(): Unit
fun ortho(left: Double, right: Double, bottom: Double, top: Double, near: Double, far: Double): Unit
fun path(path: Path3D): Unit
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double): Unit
fun point(x: Double, y: Double, z: Double = 0.0): Unit
@JvmName("points2D") fun points(points: List<Vector2>): Unit
@JvmName("points3D") fun points(points: List<Vector3>): Unit
fun popModel(): Unit
fun popProjection(): Unit
fun popStyle(): Unit
fun popTransforms(): Unit
fun popView(): Unit
var projection: Matrix44
fun pushModel(): Matrix44
fun pushProjection(): Matrix44
fun pushStyle(): DrawStyle
fun pushTransforms(): Unit
fun pushView(): Matrix44
fun rectangle(rectangle: Rectangle): Unit
fun rectangle(x: Double, y: Double, width: Double, height: Double): Unit
fun rectangle(corner: Vector2, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>): Unit
fun rectangles(rectangles: List<Rectangle>): Unit
fun reset(): Unit
fun rotate(rotationInDegrees: Double): Unit
fun rotate(axis: Vector3, rotationInDegrees: Double): Unit
fun scale(s: Double): Unit
fun scale(x: Double, y: Double): Unit
fun scale(x: Double, y: Double, z: Double): Unit
fun segment(segment: Segment): Unit
fun segment(segment: Segment3D): Unit
fun segments(segments: List<Segment3D>): Unit
fun segments(segments: List<Segment3D>, weights: List<Double>, colors: List<ColorRGBa>): Unit
var shadeStyle: ShadeStyle?
fun shape(shape: Shape): Unit
fun shapes(shapes: List<Shape>): Unit
fun size(width: Int, height: Int): Unit
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2): Unit
fun text(text: String, x: Double = 0.0, y: Double = 0.0): Unit
fun texts(texts: List<String>, positions: List<Vector2>): Unit
fun translate(t: Vector2): Unit
fun translate(t: Vector3): Unit
fun translate(x: Double, y: Double): Unit
fun translate(x: Double, y: Double, z: Double): Unit
fun vertexBuffer(vertexBuffer: VertexBuffer, primitive: DrawPrimitive, vertexOffset: Int = 0, vertexCount: Int = vertexBuffer.vertexCount): Unit
fun vertexBuffer(vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBuffer(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
fun vertexBufferInstances(vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBufferInstances(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
var view: Matrix44
var width: Int
fun withTarget(target: RenderTarget, action: Drawer.() -> Unit): Unit
interface Driver
Module Contents
abstract val activeRenderTarget: RenderTarget
abstract fun clear(r: Double, g: Double, b: Double, a: Double): Unit
open fun clear(color: ColorRGBa): Unit
abstract val contextID: Long
abstract fun createArrayTexture(width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int = 1, session: Session? = Session.active): ArrayTexture
abstract fun createAtomicCounterBuffer(counterCount: Int, session: Session? = Session.active): AtomicCounterBuffer
abstract fun createBufferTexture(elementCount: Int, format: ColorFormat, type: ColorType, session: Session? = Session.active): BufferTexture
abstract fun createColorBuffer(width: Int, height: Int, contentScale: Double, format: ColorFormat, type: ColorType, multisample: BufferMultisample = BufferMultisample.Disabled, levels: Int = 1, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromArray(array: ByteArray, offset: Int = 0, length: Int = 0, name: String? = null, formatHint: ImageFileFormat? = null, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromBuffer(buffer: ByteBuffer, name: String? = null, formatHint: ImageFileFormat? = null, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromFile(filename: String, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromStream(stream: InputStream, name: String? = null, formatHint: ImageFileFormat? = null, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromUrl(url: String, session: Session? = Session.active): ColorBuffer
abstract fun createComputeShader(code: String, session: Session? = Session.active): ComputeShader
abstract fun createCubemap(width: Int, format: ColorFormat, type: ColorType, session: Session? = Session.active): Cubemap
abstract fun createCubemapFromUrls(urls: List<String>, session: Session? = Session.active): Cubemap
abstract fun createDepthBuffer(width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session? = Session.active): DepthBuffer
abstract fun createDrawThread(session: Session? = Session.active): DrawThread
abstract fun createDynamicIndexBuffer(elementCount: Int, type: IndexType, session: Session? = Session.active): IndexBuffer
abstract fun createDynamicVertexBuffer(format: VertexFormat, vertexCount: Int, session: Session? = Session.active): VertexBuffer
abstract fun createRenderTarget(width: Int, height: Int, contentScale: Double = 1.0, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session? = Session.active): RenderTarget
abstract fun createResourceThread(session: Session? = Session.active, f: () -> Unit): ResourceThread
abstract fun createShadeStyleManager(vertexShaderGenerator: (ShadeStructure) -> String, fragmentShaderGenerator: (ShadeStructure) -> String, session: Session? = Session.root): ShadeStyleManager
abstract fun createShader(vsCode: String, fsCode: String, session: Session? = Session.active): Shader
abstract fun createStaticVertexBuffer(format: VertexFormat, buffer: Buffer, session: Session? = Session.active): VertexBuffer
abstract fun drawIndexedInstances(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int, instanceCount: Int): Unit
abstract fun drawIndexedVertexBuffer(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int): Unit
abstract fun drawInstances(shader: Shader, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int, instanceCount: Int): Unit
abstract fun drawVertexBuffer(shader: Shader, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int): Unit
lateinit var driver: Driver
abstract fun finish(): Unit
abstract val fontImageMapManager: FontMapManager
abstract val fontVectorMapManager: FontMapManager
val instance: Driver
abstract fun internalShaderResource(resourceId: String): String
abstract fun setState(drawStyle: DrawStyle): Unit
abstract val shaderGenerators: ShaderGenerators
class DriverGL3 : Driver
Module Contents
DriverGL3(version: DriverVersionGL)
val activeRenderTarget: RenderTarget
fun clear(r: Double, g: Double, b: Double, a: Double): Unit
val contextID: Long
fun createArrayTexture(width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int, session: Session?): ArrayTexture
fun createAtomicCounterBuffer(counterCount: Int, session: Session?): AtomicCounterBuffer
fun createBufferTexture(elementCount: Int, format: ColorFormat, type: ColorType, session: Session?): BufferTexture
fun createColorBuffer(width: Int, height: Int, contentScale: Double, format: ColorFormat, type: ColorType, multisample: BufferMultisample, levels: Int, session: Session?): ColorBuffer
fun createColorBufferFromArray(array: ByteArray, offset: Int, length: Int, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun createColorBufferFromBuffer(buffer: ByteBuffer, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun createColorBufferFromFile(filename: String, session: Session?): ColorBuffer
fun createColorBufferFromStream(stream: InputStream, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun createColorBufferFromUrl(url: String, session: Session?): ColorBuffer
fun createComputeShader(code: String, session: Session?): ComputeShader
fun createCubemap(width: Int, format: ColorFormat, type: ColorType, session: Session?): Cubemap
fun createCubemapFromUrls(urls: List<String>, session: Session?): Cubemap
fun createDepthBuffer(width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample, session: Session?): DepthBuffer
fun createDrawThread(session: Session?): DrawThread
fun createDynamicIndexBuffer(elementCount: Int, type: IndexType, session: Session?): IndexBuffer
fun createDynamicVertexBuffer(format: VertexFormat, vertexCount: Int, session: Session?): VertexBuffer
fun createRenderTarget(width: Int, height: Int, contentScale: Double, multisample: BufferMultisample, session: Session?): RenderTarget
fun createResourceThread(session: Session?, f: () -> Unit): ResourceThread
fun createShadeStyleManager(vertexShaderGenerator: (ShadeStructure) -> String, fragmentShaderGenerator: (ShadeStructure) -> String, session: Session?): ShadeStyleManager
fun createShader(vsCode: String, fsCode: String, session: Session?): Shader
fun createStaticVertexBuffer(format: VertexFormat, buffer: Buffer, session: Session?): VertexBuffer
fun drawIndexedInstances(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int, instanceCount: Int): Unit
fun drawIndexedVertexBuffer(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int): Unit
fun drawInstances(shader: Shader, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int, instanceCount: Int): Unit
fun drawVertexBuffer(shader: Shader, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int): Unit
fun finish(): Unit
val fontImageMapManager: FontMapManager
val fontVectorMapManager: FontMapManager
fun internalShaderResource(resourceId: String): String
fun setState(drawStyle: DrawStyle): Unit
val shaderGenerators: ShaderGenerators
val version: DriverVersionGL
enum class DriverVersionGL
class DropEvent
interface Easer
enum class Easing
class Event<T>
class ExpoIn : Easer
interface Extension
enum class ExtensionStage
open class Filter
class FontImageMap : FontMap
Module Contents
FontImageMap(texture: ColorBuffer, map: Map<Char, IntRectangle>, glyphMetrics: Map<Char, GlyphMetrics>, size: Double, contentScale: Double, ascenderLength: Double, descenderLength: Double, height: Double, leading: Double, name: String)
val ascenderLength: Double
fun characterWidth(character: Char): Double
val contentScale: Double
val descenderLength: Double
fun fromFile(file: String, size: Double, contentScale: Double = 1.0): FontImageMap
fun fromUrl(fontUrl: String, size: Double, contentScale: Double = 1.0): FontImageMap
val glyphMetrics: Map<Char, GlyphMetrics>
val height: Double
fun kerning(left: Char, right: Char): Double
val kerningTable: MutableMap<CharacterPair, Double>
val leading: Double
val map: Map<Char, IntRectangle>
val name: String
val size: Double
val texture: ColorBuffer
data class FontImageMapDescriptor
class FontImageMapDrawer
Module Contents
FontImageMapDrawer()
fun drawText(context: DrawContext, drawStyle: DrawStyle, text: String, x: Double, y: Double): Unit
fun drawTexts(context: DrawContext, drawStyle: DrawStyle, texts: List<String>, positions: List<Vector2>): Unit
fun flush(context: DrawContext, drawStyle: DrawStyle): Unit
fun queueText(fontMap: FontMap, text: String, x: Double, y: Double, tracking: Double = 0.0, kerning: KernMode = KernMode.METRIC): Unit
var queuedInstances: Int
class FontImageMapManagerGL3 : FontMapManager
abstract class FontMap
abstract class FontMapManager
abstract class FontVectorMap : FontMap
class FragmentShaderGL3
class FrameEvent
enum class Fullscreen
class GL3Exception : Exception
class GenericPlatformDriver : PlatformDriver
class GlyphMetrics
class GreedySplitter : Splitter
open class GroupNode : CompositionNode
class GroupNodeStop : GroupNode
data class Hue
class HybridLogGamma : Filter
enum class ImageAccess
class ImageDrawer
Module Contents
ImageDrawer()
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, colorBuffer: ColorBuffer, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, arrayTexture: ArrayTexture, layers: List<Int>, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, colorBuffer: ColorBuffer, x: Double, y: Double, width: Double, height: Double): Unit
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, arrayTexture: ArrayTexture, layer: Int, x: Double, y: Double, width: Double, height: Double): Unit
enum class ImageFileFormat
interface IndexBuffer
class IndexBufferGL3 : IndexBuffer
enum class IndexType
class IndexedTriangulation<T>
object InheritColor : CompositionColor
object InheritStrokeWeight : CompositionStrokeWeight
class IntPacker
class IntRectangle
data class IntVector2 : Serializable
data class IntVector3 : Serializable
data class IntVector4 : Serializable
enum class KernMode
class KeyEvent
enum class KeyEventType
enum class KeyModifier
class Keyboard
enum class LineCap
enum class LineJoin
class LineSegment
class LineSegment3D
class Linear : Easer
enum class Linearity
class Linearize : Filter
class MP4Profile : VideoWriterProfile
class MacOSPlatformDriver : PlatformDriver
enum class MagnifyingFilter
data class Matrix33
Module Contents
Matrix33(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0)
val IDENTITY: Matrix33
val ZERO: Matrix33
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val determinant: Double
fun fromColumnVectors(c0: Vector3, c1: Vector3, c2: Vector3): Matrix33
operator fun get(index: Int): Vector3
val matrix44: Matrix44
operator fun minus(o: Matrix33): Matrix33
operator fun plus(o: Matrix33): Matrix33
operator fun times(v: Vector3): Vector3
operator fun times(s: Double): Matrix33
operator fun times(mat: Matrix33): Matrix33
fun toString(): String
val trace: Double
val transposed: Matrix33
data class Matrix44 : Serializable
Module Contents
Matrix44(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0)
val IDENTITY: Matrix44
val ZERO: Matrix44
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val determinant: Double
fun fromColumnVectors(c0: Vector4, c1: Vector4, c2: Vector4, c3: Vector4): Matrix44
operator fun get(index: Int): Vector4
val inversed: Matrix44
val matrix33: Matrix33
operator fun minus(o: Matrix44): Matrix44
operator fun plus(o: Matrix44): Matrix44
operator fun times(v: Vector4): Vector4
operator fun times(v: Vector3): Vector3
operator fun times(s: Double): Matrix44
operator fun times(mat: Matrix44): Matrix44
fun toString(): String
val trace: Double
val transposed: Matrix44
data class Matrix55
Module Contents
Matrix55(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c4r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c4r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c4r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0, c4r3: Double = 0.0, c0r4: Double = 0.0, c1r4: Double = 0.0, c2r4: Double = 0.0, c3r4: Double = 0.0, c4r4: Double = 0.0)
val IDENTITY: Matrix55
val ZERO: Matrix55
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c0r4: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c1r4: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c2r4: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val c3r4: Double
val c4r0: Double
val c4r1: Double
val c4r2: Double
val c4r3: Double
val c4r4: Double
val floatArray: FloatArray
operator fun plus(mat: Matrix55): Matrix55
operator fun times(mat: Matrix55): Matrix55
operator fun times(s: Double): Matrix55
class MeshLineDrawer
Module Contents
MeshLineDrawer()
fun drawLineLoops(drawContext: DrawContext, drawStyle: DrawStyle, loops: List<List<Vector3>>, weights: List<Double> = emptyList()): Unit
fun drawLineSegments(drawContext: DrawContext, drawStyle: DrawStyle, segments: List<Vector3>, weights: List<Double> = emptyList(), colors: List<ColorRGBa> = emptyList()): Unit
fun drawLineStrips(drawContext: DrawContext, drawStyle: DrawStyle, strips: List<List<Vector3>>, weights: List<Double> = emptyList(), colors: List<ColorRGBa> = emptyList()): Unit
enum class MinifyingFilter
class Mouse
enum class MouseButton
class MouseEvent
enum class MouseEventType
class NullRenderTargetGL3 : RenderTargetGL3
class OptimizingOrderer : Orderer
interface Orderer
class PackNode
class Path3D
class Path3DBuilder
Module Contents
Path3DBuilder()
var anchor: Vector3
fun close(): Unit
fun continueTo(end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector3, end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector3
fun curveTo(control: Vector3, position: Vector3): Unit
fun curveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun curveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun curveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun lineTo(position: Vector3): Unit
fun lineTo(x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control: Vector3, position: Vector3): Unit
fun moveOrCurveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun moveOrLineTo(position: Vector3): Unit
fun moveOrLineTo(x: Double, y: Double, z: Double): Unit
fun moveTo(position: Vector3): Unit
fun moveTo(x: Double, y: Double, z: Double): Unit
fun reverse(): Unit
val segments: MutableList<Segment3D>
class PathProjection3D
class PerformanceLineDrawer
object Platform
enum class PlatformType
enum class PlayMode
class PointDrawer
Module Contents
PointDrawer()
fun drawPoint(drawContext: DrawContext, drawStyle: DrawStyle, x: Double, y: Double, z: Double): Unit
@JvmName("drawPoints2D") fun drawPoints(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>): Unit
@JvmName("drawPoints3D") fun drawPoints(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector3>): Unit
fun drawPoints(drawContext: DrawContext, drawStyle: DrawStyle, instanceAttributes: VertexBuffer, count: Int): Unit
val vertices: VertexBuffer
data class Polar
enum class PresentationMode
open class Program
interface ProgramRenderTarget : RenderTarget
class ProgramRenderTargetGL3 : ProgramRenderTarget, RenderTargetGL3
class QuadIn : Easer
class QuadInOut : Easer
class QuadOut : Easer
class QualityLineDrawer
Module Contents
QualityLineDrawer()
fun drawLineLoops(drawContext: DrawContext, drawStyle: DrawStyle, strips: List<List<Vector2>>): Unit
fun drawLineLoops(drawContext: DrawContext, drawStyle: DrawStyle, strips: List<List<Vector2>>, weights: List<Double>): Unit
fun drawLineStrips(drawContext: DrawContext, drawStyle: DrawStyle, strips: Iterable<Iterable<Vector2>>): Unit
fun drawLineStrips(drawContext: DrawContext, drawStyle: DrawStyle, strips: Iterable<Iterable<Vector2>>, weights: List<Double>): Unit
class QualityPolygonDrawer
class QuartIn : Easer
class QuartInOut : Easer
class QuartOut : Easer
data class Quaternion : Serializable
Module Contents
Quaternion(x: Double, y: Double, z: Double, w: Double)
val IDENTITY: Quaternion
val ZERO: Quaternion
fun fromAngles(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAnglesRadian(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAxes(x: Vector3, y: Vector3, z: Vector3): Quaternion
fun fromLookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y): Quaternion
fun fromMatrix(m: Matrix33): Quaternion
val inversed: Quaternion
val length: Double
val matrix: Matrix33
val negated: Quaternion
val norm: Double
val normalized: Quaternion
operator fun times(q: Quaternion): Quaternion
operator fun times(vec: Vector3): Vector3
val w: Double
val x: Double
val y: Double
val z: Double
class RandomBinarySplitter : Splitter
class RandomOrderer : Orderer
data class Rectangle
Module Contents
Rectangle(x: Double, y: Double, width: Double, height: Double)
Rectangle(corner: Vector2, width: Double, height: Double)
val area: Double
val center: Vector2
operator fun contains(point: Vector2): Boolean
val contour: ShapeContour
val corner: Vector2
fun fromCenter(center: Vector2, width: Double, height: Double): Rectangle
val height: Double
fun heightScaledTo(fitHeight: Double): Rectangle
fun moved(offset: Vector2): Rectangle
fun offsetEdges(offset: Double, offsetY: Double = offset): Rectangle
fun position(u: Double, v: Double): Vector2
fun scaled(scale: Double, scaleY: Double = scale): Rectangle
val shape: Shape
val width: Double
fun widthScaledTo(fitWidth: Double): Rectangle
val x: Double
val y: Double
class RectangleDrawer
Module Contents
RectangleDrawer()
fun drawRectangle(drawContext: DrawContext, drawStyle: DrawStyle, x: Double, y: Double, width: Double, height: Double): Unit
fun drawRectangles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, dimensions: List<Vector2>): Unit
fun drawRectangles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, width: Double, height: Double): Unit
fun drawRectangles(drawContext: DrawContext, drawStyle: DrawStyle, rectangles: List<Rectangle>): Unit
interface RenderTarget
Module Contents
val active: RenderTarget
abstract fun attach(name: String, colorBuffer: ColorBuffer, level: Int = 0): Unit
abstract fun attach(colorBuffer: ColorBuffer, level: Int = 0): Unit
abstract fun attach(depthBuffer: DepthBuffer): Unit
abstract fun attach(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
abstract fun attach(arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
abstract fun bind(): Unit
abstract fun blendMode(index: Int, blendMode: BlendMode): Unit
abstract fun clearColor(index: Int, color: ColorRGBa): Unit
abstract fun clearDepth(depth: Double = 1.0, stencil: Int = 0): Unit
abstract fun colorBuffer(index: Int): ColorBuffer
abstract fun colorBuffer(name: String): ColorBuffer
abstract fun colorBufferIndex(name: String): Int
abstract val colorBuffers: List<ColorBuffer>
abstract val contentScale: Double
abstract val depthBuffer: DepthBuffer?
abstract fun destroy(): Unit
abstract fun detachColorBuffers(): Unit
abstract fun detachDepthBuffer(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract val hasColorBuffer: Boolean
abstract val hasDepthBuffer: Boolean
abstract val height: Int
abstract val multisample: BufferMultisample
open fun resolveTo(to: RenderTarget): Unit
abstract val session: Session?
abstract fun unbind(): Unit
abstract val width: Int
class RenderTargetBuilder
Module Contents
RenderTargetBuilder(renderTarget: RenderTarget)
fun arrayTexture(arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun colorBuffer(width: Int, height: Int, contentScale: Double = 1.0, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, multisample: BufferMultisample): Nothing
fun colorBuffer(colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun depthBuffer(format: DepthFormat = DepthFormat.DEPTH24_STENCIL8): Unit
fun depthBuffer(depthBuffer: DepthBuffer): Unit
open class RenderTargetGL3 : RenderTarget
Module Contents
RenderTargetGL3(framebuffer: Int, width: Int, height: Int, contentScale: Double, multisample: BufferMultisample, session: Session?, thread: Thread = Thread.currentThread())
val activeRenderTarget: RenderTargetGL3
open fun attach(name: String, colorBuffer: ColorBuffer, level: Int): Unit
open fun attach(colorBuffer: ColorBuffer, level: Int): Unit
open fun attach(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int): Unit
open fun attach(arrayTexture: ArrayTexture, layer: Int, level: Int): Unit
open fun attach(depthBuffer: DepthBuffer): Unit
open fun bind(): Unit
open fun blendMode(index: Int, blendMode: BlendMode): Unit
open fun clearColor(index: Int, color: ColorRGBa): Unit
open fun clearDepth(depth: Double, stencil: Int): Unit
open fun colorBuffer(index: Int): ColorBuffer
open fun colorBuffer(name: String): ColorBuffer
open fun colorBufferIndex(name: String): Int
open val colorBuffers: List<ColorBuffer>
open val contentScale: Double
fun create(width: Int, height: Int, contentScale: Double = 1.0, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session?): RenderTargetGL3
open val depthBuffer: DepthBuffer?
open fun destroy(): Unit
var destroyed: Boolean
open fun detachColorBuffers(): Unit
open fun detachDepthBuffer(): Unit
val framebuffer: Int
open val hasColorBuffer: Boolean
open val hasDepthBuffer: Boolean
open val height: Int
open val multisample: BufferMultisample
open val session: Session?
open fun unbind(): Unit
open val width: Int
class RenderToken
interface ResourceThread
class ResourceThreadGL3 : ResourceThread
class ScreenRecorder : Extension
open class Screenshots : Extension
class Segment
Module Contents
Segment(start: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, c1: Vector2, end: Vector2)
Segment(start: Vector2, control: Array<Vector2>, end: Vector2)
val bounds: Rectangle
val clockwise: Boolean
val control: Array<Vector2>
fun copy(start: Vector2 = this.start, control: Array<Vector2> = this.control, end: Vector2 = this.end): Segment
val cubic: Segment
fun derivative(t: Double): Vector2
fun direction(): Vector2
fun direction(t: Double): Vector2
val end: Vector2
fun extrema(): List<Double>
fun extremaPoints(): List<Vector2>
fun isStraight(epsilon: Double = 0.01): Boolean
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector2>
fun normal(ut: Double): Vector2
fun offset(distance: Double, stepSize: Double = 0.1): List<Segment>
fun on(point: Vector2, error: Double = 5.0): Double?
fun position(ut: Double): Vector2
fun project(point: Vector2): SegmentProjection
val quadratic: Segment
fun reduced(stepSize: Double = 0.1): List<Segment>
val reverse: Segment
fun sampleAdaptive(distanceTolerance: Double = 0.5): List<Vector2>
fun sampleAdaptiveNormals(distanceTolerance: Double = 0.5): Pair<List<Vector2>, List<Vector2>>
fun scale(scale: Double): Segment
fun scale(scale: (Double) -> Double): Segment
val simple: Boolean
fun split(t: Double): Array<Segment>
val start: Vector2
fun sub(t0: Double, t1: Double): Segment
fun toString(): String
fun transform(transform: Matrix44): Segment
class Segment3D
Module Contents
Segment3D(start: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, c1: Vector3, end: Vector3)
Segment3D(start: Vector3, control: Array<Vector3>, end: Vector3)
val control: Array<Vector3>
fun copy(start: Vector3 = this.start, control: Array<Vector3> = this.control, end: Vector3 = this.end): Segment3D
val cubic: Segment3D
fun derivative(t: Double): Vector3
fun direction(): Vector3
fun direction(t: Double): Vector3
val end: Vector3
fun extrema(): List<Double>
fun extremaPoints(): List<Vector3>
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector3>
fun on(point: Vector3, error: Double = 5.0): Double?
fun position(ut: Double): Vector3
fun project(point: Vector3): SegmentProjection3D
val reverse: Segment3D
fun sampleAdaptive(distanceTolerance: Double = 0.5): List<Vector3>
fun sampleAdaptiveNormals(distanceTolerance: Double = 0.5): Pair<List<Vector3>, List<Vector3>>
fun split(t: Double): Array<Segment3D>
val start: Vector3
fun sub(t0: Double, t1: Double): Segment3D
fun toString(): String
fun transform(transform: Matrix44): Segment3D
enum class SegmentJoin
class SegmentProjection
class SegmentProjection3D
class Session
class SessionStatistics
Module Contents
SessionStatistics(renderTargets: Int, colorBuffers: Int, depthBuffers: Int, bufferTextures: Int, indexBuffers: Int, vertexBuffers: Int, shaders: Int, cubemaps: Int, arrayTextures: Int, computeShaders: Int, atomicCounterBuffers: Int)
val arrayTextures: Int
val atomicCounterBuffers: Int
val bufferTextures: Int
val colorBuffers: Int
val computeShaders: Int
val cubemaps: Int
val depthBuffers: Int
val indexBuffers: Int
val renderTargets: Int
val shaders: Int
val vertexBuffers: Int
data class ShadeStructure
Module Contents
ShadeStructure(uniforms: String? = null, attributes: String? = null, : String? = null, fragmentTransform: String? = null, vertexPreamble: String? = null, fragmentPreamble: String? = null, outputs: String? = null, varyingOut: String? = null, varyingIn: String? = null, varyingBridge: String? = null, suppressDefaultOutput: Boolean = false)
var attributes: String?
var fragmentPreamble: String?
var fragmentTransform: String?
var outputs: String?
var suppressDefaultOutput: Boolean
var uniforms: String?
var varyingBridge: String?
var varyingIn: String?
var varyingOut: String?
var vertexPreamble: String?
var vertexTransform: String?
open class ShadeStyle
Module Contents
ShadeStyle()
ShadeStyle(other: ShadeStyle)
inner class Parameter<R : Any> : ReadWriteProperty<ShadeStyle, R>
var attributes: MutableList<VertexBuffer>
fun attributes(attributesBuffer: VertexBuffer): Unit
var fragmentPreamble: String?
var fragmentTransform: String?
fun output(name: String, slot: Int): Unit
var outputs: MutableMap<String, Int>
fun parameter(name: String, value: Cubemap): Unit
fun parameter(name: String, value: Int): Unit
fun parameter(name: String, value: Matrix33): Unit
fun parameter(name: String, value: Matrix44): Unit
fun parameter(name: String, value: Float): Unit
fun parameter(name: String, value: Double): Unit
fun parameter(name: String, value: Vector2): Unit
fun parameter(name: String, value: Vector3): Unit
fun parameter(name: String, value: Vector4): Unit
fun parameter(name: String, value: ColorRGBa): Unit
fun parameter(name: String, value: ColorBuffer): Unit
fun parameter(name: String, value: DepthBuffer): Unit
fun parameter(name: String, value: ArrayTexture): Unit
fun parameter(name: String, value: BufferTexture): Unit
var parameterValues: MutableMap<String, Any>
var parameters: MutableMap<String, String>
operator fun plus(other: ShadeStyle): ShadeStyle
var suppressDefaultOutput: Boolean
var vertexPreamble: String?
var vertexTransform: String?
class ShadeStyleFilter : Filter
abstract class ShadeStyleManager
class ShadeStyleManagerGL3 : ShadeStyleManager
interface Shader
Module Contents
abstract fun begin(): Unit
abstract fun block(blockName: String, block: UniformBlock): Unit
abstract fun blockLayout(blockName: String): UniformBlockLayout?
abstract fun createBlock(blockName: String): UniformBlock
fun createFromCode(vsCode: String, fsCode: String, session: Session? = Session.active): Shader
fun createFromUrls(vsUrl: String, fsUrl: String, session: Session? = Session.active): Shader
abstract fun destroy(): Unit
abstract fun end(): Unit
abstract fun hasUniform(name: String): Boolean
abstract val session: Session?
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
class ShaderGL3 : Shader
Module Contents
ShaderGL3(program: Int, name: String, vertexShader: VertexShaderGL3, fragmentShader: FragmentShaderGL3, session: Session?)
fun attributeIndex(name: String): Int
fun begin(): Unit
fun block(blockName: String, block: UniformBlock): Unit
fun blockIndex(block: String): Int
fun blockLayout(blockName: String): UniformBlockLayout?
fun create(vertexShader: VertexShaderGL3, fragmentShader: FragmentShaderGL3, session: Session?): ShaderGL3
fun createBlock(blockName: String): UniformBlock
fun destroy(): Unit
fun end(): Unit
val fragmentShader: FragmentShaderGL3
fun hasUniform(name: String): Boolean
val name: String
val program: Int
val session: Session?
fun uniform(name: String, value: ColorRGBa): Unit
fun uniform(name: String, value: Vector3): Unit
fun uniform(name: String, value: Vector4): Unit
fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
fun uniform(name: String, x: Float, y: Float, z: Float): Unit
fun uniform(name: String, x: Float, y: Float): Unit
fun uniform(name: String, value: Int): Unit
fun uniform(name: String, value: Boolean): Unit
fun uniform(name: String, value: Vector2): Unit
fun uniform(name: String, value: Float): Unit
fun uniform(name: String, value: Double): Unit
fun uniform(name: String, value: Matrix33): Unit
fun uniform(name: String, value: Matrix44): Unit
fun uniform(name: String, value: Array<Vector2>): Unit
fun uniform(name: String, value: Array<Vector3>): Unit
fun uniform(name: String, value: Array<Vector4>): Unit
fun uniform(name: String, value: FloatArray): Unit
fun uniformIndex(uniform: String, query: Boolean = false): Int
val vertexShader: VertexShaderGL3
interface ShaderGenerators
class ShaderGeneratorsGL3 : ShaderGenerators
class ShaderWatcher
class ShaderWatcherBuilder
class Shape
class ShapeBuilder
data class ShapeContour
class ShapeNode : CompositionNode
class SineIn : Easer
class SineInOut : Easer
class SineOut : Easer
class SingleScreenshot : Screenshots
data class Spherical
interface Splitter
enum class State
enum class StencilOperation
class StencilStyle
enum class StencilTest
class StrokeWeight : CompositionStrokeWeight
class TextNode : CompositionNode
class TransformBuilder
enum class UnfocusBehaviour
interface UniformBlock
Module Contents
abstract val dirty: Boolean
abstract val layout: UniformBlockLayout
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: Matrix55): Unit
abstract fun uniform(name: String, value: Array<Float>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun upload(): Unit
class UniformBlockGL3 : UniformBlock
Module Contents
UniformBlockGL3(layout: UniformBlockLayout, blockBinding: Int, ubo: Int, shadowBuffer: ByteBuffer)
val blockBinding: Int
fun create(layout: UniformBlockLayout): UniformBlockGL3
val dirty: Boolean
val layout: UniformBlockLayout
var realDirty: Boolean
val shadowBuffer: ByteBuffer
val ubo: Int
fun uniform(name: String, value: Float): Unit
fun uniform(name: String, value: Vector2): Unit
fun uniform(name: String, value: Vector3): Unit
fun uniform(name: String, value: ColorRGBa): Unit
fun uniform(name: String, value: Vector4): Unit
fun uniform(name: String, value: Matrix44): Unit
fun uniform(name: String, value: Matrix55): Unit
fun uniform(name: String, value: Array<Float>): Unit
fun uniform(name: String, value: Array<Vector2>): Unit
fun uniform(name: String, value: Array<Vector3>): Unit
fun uniform(name: String, value: Array<Vector4>): Unit
fun upload(): Unit
data class UniformBlockLayout
data class UniformDescription
enum class UniformType
data class Vector2 : Serializable
data class Vector3 : Serializable
data class Vector4 : Serializable
interface VertexBuffer
class VertexBufferDrawer
Module Contents
VertexBufferDrawer()
fun drawVertexBuffer(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, vertexBuffers: List<VertexBuffer>, offset: Int, vertexCount: Int): Unit
fun drawVertexBuffer(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, offset: Int, indexCount: Int): Unit
fun drawVertexBufferInstances(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, offset: Int, vertexCount: Int, instanceCount: Int): Unit
fun drawVertexBufferInstances(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, offset: Int, indexCount: Int, instanceCount: Int): Unit
class VertexBufferGL3 : VertexBuffer
interface VertexBufferShadow
class VertexBufferShadowGL3 : VertexBufferShadow
data class VertexElement
enum class VertexElementType
class VertexFormat
class VertexShaderGL3
class VideoEvent
class VideoPlayerConfiguration
class VideoPlayerFFMPEG
Module Contents
var audioGain: Double
var colorBuffer: ColorBuffer?
fun defaultDevice(): String
fun dispose(): Unit
fun draw(drawer: Drawer, blind: Boolean = false, update: Boolean = true): Unit
fun draw(drawer: Drawer, x: Double = 0.0, y: Double = 0.0, width: Double = this.width.toDouble(), height: Double = this.height.toDouble(), blind: Boolean = false, update: Boolean = true): Unit
fun draw(drawer: Drawer, source: Rectangle, target: Rectangle, blind: Boolean = false, update: Boolean = true): Unit
val ended: Event<VideoEvent>
fun fromDevice(deviceName: String = defaultDevice(), mode: PlayMode = PlayMode.VIDEO, frameRate: Double? = null, imageWidth: Int? = null, imageHeight: Int? = null, configuration: VideoPlayerConfiguration = VideoPlayerConfiguration()): VideoPlayerFFMPEG
fun fromFile(fileName: String, mode: PlayMode = PlayMode.BOTH, configuration: VideoPlayerConfiguration = VideoPlayerConfiguration(), clock: () -> Double = { System.currentTimeMillis() / 1000.0 }): VideoPlayerFFMPEG
val height: Int
fun listDeviceNames(): List<String>
val newFrame: Event<FrameEvent>
fun pause(): Unit
fun play(): Unit
fun restart(): Unit
fun resume(): Unit
fun seek(positionInSeconds: Double): Unit
val statistics: VideoStatistics
val width: Int
class VideoStatistics
class VideoWriter
abstract class VideoWriterProfile
enum class Winding
class WindowEvent
enum class WindowEventType
sealed class WindowMultisample
class WindowsPlatformDriver : PlatformDriver
enum class WrapMode
class WriteStyle
class Writer
class X265Profile : VideoWriterProfile
kotlin.Double
kotlin.Float
kotlin.Int
kotlin.Long
kotlin.collections.List
package org.openrndr
package org.openrndr.animatable
Module Contents
open class Animatable
Module Contents
Animatable(target: Any)
Animatable()
Animatable(createAtTime: Long)
fun add(variable: String, target: Double, duration: Long): Unit
fun add(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun add(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
@JvmName("animateProp") fun KMutableProperty0<Double>.animate(target: Double, duration: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easing: Easing): Unit
fun animate(variable: String, target: Double, durationMillis: Long, easer: Easer): Unit
fun animate(variable: KMutableProperty0<*>, target: Double, durationMillis: Long, easing: Easing = Easing.None): Unit
fun animationCount(): Int
fun array(variable: String, index: Int): String
fun cancel(): Unit
fun cancel(fields: Array<String>): Unit
fun cancelQueued(): Unit
fun clock(clock: Clock): Unit
fun clock(): Clock
fun complete(variable: String): Unit
fun complete(callback: (Animatable) -> Unit): Unit
fun complete(animatable: Animatable): Unit
fun complete(animatable: Animatable = this, callback: (Animatable) -> Unit = null): Unit
fun delay(durationMillis: Long, durationNanos: Long = 0): Unit
fun duration(): Long
fun ease(easing: Easing): Unit
fun ease(easer: Easer): Unit
fun end(): Unit
fun hasAnimations(): Boolean
fun hasAnimations(vararg variables: String): Boolean
fun popTime(): Unit
fun pushTime(): Unit
@JvmOverloads fun updateAnimation(time: Long = clock.timeNanos): Unit
fun velocity(variable: String): Double
fun waitUntil(timeMillis: Long, timeNanos: Long = 0): Unit
interface Clock
class DefaultClock : Clock
package org.openrndr.animatable.easing
package org.openrndr.binpack
Module Contents
class CenterOrderer : Orderer
class CenteredBinarySplitter : Splitter
Module Contents
CenteredBinarySplitter(enclosement: IntRectangle, invert: Boolean = true, constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true }, xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true}, ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean = { _, _ -> true})
val constraints: (node: PackNode, rectangle: IntRectangle) -> Boolean
val enclosement: IntRectangle
val invert: Boolean
fun split(node: PackNode, rectangle: IntRectangle): List<PackNode>
val xcon: (node: PackNode, rectangle: IntRectangle) -> Boolean
val ycon: (node: PackNode, rectangle: IntRectangle) -> Boolean
interface Clipper
class DefaultClipper : Clipper
class DefaultOrderer : Orderer
class DefaultSplitter : Splitter
class GreedySplitter : Splitter
class IntPacker
class OptimizingOrderer : Orderer
interface Orderer
class PackNode
class RandomBinarySplitter : Splitter
class RandomOrderer : Orderer
interface Splitter
fun leafNodes(node: PackNode): List<PackNode>
fun prune(node: PackNode): Unit
package org.openrndr.color
Module Contents
data class ColorATVa
data class ColorHSLa
data class ColorHSVa
class ColorLABa
data class ColorLCHABa
data class ColorLCHUVa
data class ColorLSHABa
data class ColorLSHUVa
data class ColorLUVa
data class ColorRGBa
data class ColorXSLa
data class ColorXSVa
data class ColorXYZa
data class ColorYxya
data class Hue
enum class Linearity
fun findHue(id: Int): Hue?
fun hsl(h: Double, s: Double, l: Double): ColorHSLa
fun hsla(h: Double, s: Double, l: Double, a: Double): ColorHSLa
fun hsv(h: Double, s: Double, v: Double): ColorHSVa
fun hsva(h: Double, s: Double, v: Double, a: Double): ColorHSVa
val hues: List<Hue>
fun main(args: Array<String>): Unit
fun main(): Unit
fun mix(left: ColorHSVa, right: ColorHSVa, x: Double): ColorHSVa
fun mix(left: ColorRGBa, right: ColorRGBa, x: Double): ColorRGBa
fun mix(a: ColorYxya, b: ColorYxya, x: Double): ColorYxya
fun rgb(r: Double, g: Double, b: Double): ColorRGBa
fun rgb(hex: String): ColorRGBa
fun rgba(r: Double, g: Double, b: Double, a: Double): ColorRGBa
package org.openrndr.dialogs
Module Contents
fun openFileDialog(programName: String = "OPENRNDR", contextID: String = "global", function: (File) -> Unit): Unit
fun openFileDialog(programName: String = "OPENRNDR", contextID: String = "global", supportedExtensions: List<String>, function: (File) -> Unit): Unit
fun openFilesDialog(programName: String = "OPENRNDR", contextID: String = "global", supportedExtensions: List<String>, function: (List<File>) -> Unit): Unit
fun openFilesDialog(programName: String = "OPENRNDR", contextID: String = "global", function: (List<File>) -> Unit): Unit
fun openFolderDialog(programName: String = "OPENRNDR", contextID: String = "global", function: (File) -> Unit): Unit
fun saveFileDialog(programName: String = "OPENRNDR", contextID: String = "global", function: (File) -> Unit): Unit
fun saveFileDialog(programName: String = "OPENRNDR", contextID: String = "global", supportedExtensions: List<String>, function: (File) -> Unit): Unit
package org.openrndr.draw
Module Contents
interface ArrayTexture
Module Contents
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract fun copyTo(layer: Int, target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(layer: Int, target: ArrayTexture, targetLayer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun destroy(): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
abstract fun generateMipmaps(): Unit
abstract val height: Int
abstract val layers: Int
abstract val levels: Int
abstract fun read(layer: Int, buffer: ByteBuffer, level: Int = 0): Unit
abstract val session: Session?
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
interface AtomicCounterBuffer
enum class BlendMode
sealed class BufferMultisample
interface BufferTexture
interface BufferTextureShadow
interface BufferWriter
class ChannelMask
data class CharacterPair
interface ColorBuffer
Module Contents
abstract var anisotropy: Double
abstract fun bind(unit: Int): Unit
open val bounds: Rectangle
abstract val contentScale: Double
abstract fun copyTo(target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun copyTo(target: ArrayTexture, layer: Int, fromLevel: Int = 0, toLevel: Int = 0): Unit
open fun createEquivalent(width: Int = this.width, height: Int = this.height, contentScale: Double = this.contentScale, format: ColorFormat = this.format, type: ColorType = this.type, multisample: BufferMultisample = this.multisample, levels: Int = this.levels): ColorBuffer
abstract fun destroy(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract fun fill(color: ColorRGBa): Unit
open fun filter(filterMin: MinifyingFilter, filterMag: MagnifyingFilter): Unit
abstract var filterMag: MagnifyingFilter
abstract var filterMin: MinifyingFilter
abstract var flipV: Boolean
abstract val format: ColorFormat
fun fromArray(bytes: ByteArray, offset: Int = 0, length: Int = bytes.size, session: Session? = Session.active): ColorBuffer
fun fromBuffer(bytes: ByteBuffer, session: Session? = Session.active): ColorBuffer
fun fromFile(file: File, session: Session? = Session.active): ColorBuffer
fun fromFile(filename: String, session: Session? = Session.active): ColorBuffer
fun fromStream(stream: InputStream, formatHint: String? = null, session: Session? = Session.active): ColorBuffer
fun fromUrl(url: String, session: Session? = Session.active): ColorBuffer
abstract fun generateMipmaps(): Unit
abstract val height: Int
open fun isEquivalentTo(other: ColorBuffer, ignoreMultisample: Boolean = false, ignoreLevels: Boolean = false): Boolean
abstract val levels: Int
abstract val multisample: BufferMultisample
abstract fun read(buffer: ByteBuffer, targetFormat: ColorFormat = format, targetType: ColorType = type, level: Int = 0): Unit
abstract fun resolveTo(target: ColorBuffer, fromLevel: Int = 0, toLevel: Int = 0): Unit
abstract fun saveToFile(file: File, imageFileFormat: ImageFileFormat = ImageFileFormat.guessFromExtension(file), async: Boolean = true): Unit
abstract val session: Session?
abstract val shadow: ColorBufferShadow
abstract fun toDataUrl(imageFileFormat: ImageFileFormat = ImageFileFormat.JPG): String
abstract val type: ColorType
abstract val width: Int
abstract var wrapU: WrapMode
abstract var wrapV: WrapMode
abstract fun write(buffer: ByteBuffer, sourceFormat: ColorFormat = format, sourceType: ColorType = type, level: Int = 0): Unit
data class ColorBufferProxy
interface ColorBufferShadow
Module Contents
abstract val buffer: ByteBuffer
abstract val colorBuffer: ColorBuffer
abstract fun destroy(): Unit
abstract fun download(): Unit
open fun <T> flatMapIndexed(xrange: IntProgression = 0 until this.colorBuffer.effectiveWidth, yrange: IntProgression = 0 until this.colorBuffer.effectiveHeight, mapper: (x: Int, y: Int, r: Double, g: Double, b: Double, a: Double) -> T): List<T>
open operator fun get(x: Int, y: Int): ColorRGBa
abstract fun mapBoolean(mapper: (r: Double, g: Double, b: Double, a: Double) -> Boolean): Array<BooleanArray>
abstract fun mapDouble(mapper: (r: Double, g: Double, b: Double, a: Double) -> Double): Array<DoubleArray>
abstract fun mapFloat(mapper: (r: Double, g: Double, b: Double, a: Double) -> Float): Array<FloatArray>
abstract fun <T> mapIndexed(xrange: IntProgression = 0 until this.colorBuffer.effectiveWidth, yrange: IntProgression = 0 until this.colorBuffer.effectiveHeight, mapper: (x: Int, y: Int, r: Double, g: Double, b: Double, a: Double) -> T): Array<List<T>>
abstract fun mapInt(mapper: (r: Double, g: Double, b: Double, a: Double) -> Int): Array<IntArray>
abstract fun read(x: Int, y: Int): ColorRGBa
open operator fun set(x: Int, y: Int, c: ColorRGBa): Unit
abstract fun upload(): Unit
abstract fun write(x: Int, y: Int, r: Double, g: Double, b: Double, a: Double): Unit
open fun write(x: Int, y: Int, color: ColorRGBa): Unit
open fun write(x: Int, y: Int, r: Float, g: Float, b: Float, a: Float): Unit
abstract fun writer(): BufferWriter
enum class ColorFormat
enum class ColorSampling
enum class ColorType
interface ComputeShader
Module Contents
abstract fun buffer(name: String, vertexBuffer: VertexBuffer): Unit
abstract fun counters(bindingIndex: Int, counterBuffer: AtomicCounterBuffer): Unit
abstract fun destroy(): Unit
abstract fun execute(width: Int = 1, height: Int = 1, depth: Int = 1): Unit
fun fromCode(code: String): ComputeShader
fun fromFile(file: File): ComputeShader
abstract fun image(name: String, image: Int, colorBuffer: ColorBuffer, access: ImageAccess = ImageAccess.READ): Unit
abstract fun image(name: String, image: Int, arrayTexture: ArrayTexture, layer: Int, access: ImageAccess = ImageAccess.READ): Unit
abstract fun image(name: String, image: Int, arrayTexture: ArrayTexture, access: ImageAccess = ImageAccess.READ): Unit
abstract fun image(name: String, image: Int, cubemap: Cubemap, access: ImageAccess = ImageAccess.READ): Unit
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
interface Cubemap
enum class CubemapSide
enum class CullTestPass
interface DepthBuffer
enum class DepthFormat
enum class DepthTestPass
data class DrawContext
enum class DrawPrimitive
enum class DrawQuality
data class DrawStyle
Module Contents
DrawStyle(clip: Rectangle? = null, fill: ColorRGBa? = ColorRGBa.WHITE, stroke: ColorRGBa? = ColorRGBa.BLACK, lineCap: LineCap = LineCap.BUTT, lineJoin: LineJoin = LineJoin.MITER, strokeWeight: Double = 1.0, smooth: Boolean = true, quality: DrawQuality = DrawQuality.QUALITY, depthTestPass: DepthTestPass = DepthTestPass.ALWAYS, depthWrite: Boolean = false, blendMode: BlendMode = BlendMode.OVER, cullTestPass: CullTestPass = CullTestPass.ALWAYS, channelWriteMask: ChannelMask = ChannelMask(red = true, green = true, blue = true, alpha = true), alphaToCoverage: Boolean = false, shadeStyle: ShadeStyle? = null, fontMap: FontMap? = null, kerning: KernMode = KernMode.METRIC, stencil: StencilStyle = StencilStyle(), frontStencil: StencilStyle = stencil, backStencil: StencilStyle = stencil, colorMatrix: Matrix55 = Matrix55.IDENTITY)
var alphaToCoverage: Boolean
fun applyToShader(shader: Shader): Unit
var backStencil: StencilStyle
var blendMode: BlendMode
var channelWriteMask: ChannelMask
var clip: Rectangle?
var colorMatrix: Matrix55
var cullTestPass: CullTestPass
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var fill: ColorRGBa?
var fontMap: FontMap?
var frontStencil: StencilStyle
var kerning: KernMode
var lineCap: LineCap
var lineJoin: LineJoin
var quality: DrawQuality
var shadeStyle: ShadeStyle?
var smooth: Boolean
var stencil: StencilStyle
var stroke: ColorRGBa?
var strokeWeight: Double
interface DrawThread
class Drawer
Module Contents
Drawer(driver: Driver)
fun background(r: Double, g: Double, b: Double, a: Double): Unit
fun background(color: ColorRGBa): Unit
val bounds: Rectangle
fun circle(x: Double, y: Double, radius: Double): Unit
fun circle(position: Vector2, radius: Double): Unit
fun circle(circle: Circle): Unit
fun circles(positions: List<Vector2>, radius: Double): Unit
fun circles(positions: List<Vector2>, radii: List<Double>): Unit
fun circles(circles: List<Circle>): Unit
fun circles(vertexBuffer: VertexBuffer, count: Int = vertexBuffer.vertexCount): Unit
fun composition(composition: Composition): Unit
val context: DrawContext
fun contour(contour: ShapeContour): Unit
fun contours(contours: List<ShapeContour>): Unit
var cullTestPass: CullTestPass
fun defaults(): Unit
var depthTestPass: DepthTestPass
var depthWrite: Boolean
var drawStyle: DrawStyle
val driver: Driver
var fill: ColorRGBa?
var fontMap: FontMap?
var height: Int
fun image(colorBuffer: ColorBuffer, source: Rectangle, target: Rectangle): Unit
fun image(colorBuffer: ColorBuffer, x: Double, y: Double, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer, position: Vector2, width: Double = colorBuffer.width.toDouble(), height: Double = colorBuffer.height.toDouble()): Unit
fun image(colorBuffer: ColorBuffer): Unit
fun image(colorBuffer: ColorBuffer, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, x: Double = 0.0, y: Double = 0.0, width: Double = arrayTexture.width.toDouble(), height: Double = arrayTexture.height.toDouble()): Unit
fun image(arrayTexture: ArrayTexture, layer: Int = 0, source: Rectangle, target: Rectangle): Unit
fun image(arrayTexture: ArrayTexture, layers: List<Int>, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
var lineCap: LineCap
var lineJoin: LineJoin
fun lineLoop(points: List<Vector2>): Unit
@JvmName("lineLoop3d") fun lineLoop(points: List<Vector3>): Unit
fun lineLoops(loops: List<List<Vector2>>): Unit
@JvmName("lineLoops3d") fun lineLoops(loops: List<List<Vector3>>): Unit
fun lineLoops(loops: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineLoops3d)") fun lineLoops(loops: List<List<Vector3>>, weights: List<Double>): Unit
fun lineSegment(x0: Double, y0: Double, x1: Double, y1: Double): Unit
fun lineSegment(lineSegment: LineSegment): Unit
fun lineSegment(start: Vector2, end: Vector2): Unit
fun lineSegment(start: Vector3, end: Vector3): Unit
fun lineSegments(segments: List<Vector2>): Unit
fun lineSegments(segments: List<Vector2>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>): Unit
@JvmName("lineSegments3d") fun lineSegments(segments: List<Vector3>, weights: List<Double>, colors: List<ColorRGBa>): Unit
fun lineStrip(points: List<Vector2>): Unit
@JvmName("lineStrip3d") fun lineStrip(points: List<Vector3>): Unit
fun lineStrips(strips: List<List<Vector2>>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>): Unit
fun lineStrips(strips: List<List<Vector2>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>): Unit
@JvmName("lineStrips3d") fun lineStrips(strips: List<List<Vector3>>, weights: List<Double>, colors: List<ColorRGBa>): Unit
fun lookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y): Unit
var model: Matrix44
fun ortho(renderTarget: RenderTarget): Unit
fun ortho(): Unit
fun ortho(left: Double, right: Double, bottom: Double, top: Double, near: Double, far: Double): Unit
fun path(path: Path3D): Unit
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double): Unit
fun point(x: Double, y: Double, z: Double = 0.0): Unit
@JvmName("points2D") fun points(points: List<Vector2>): Unit
@JvmName("points3D") fun points(points: List<Vector3>): Unit
fun popModel(): Unit
fun popProjection(): Unit
fun popStyle(): Unit
fun popTransforms(): Unit
fun popView(): Unit
var projection: Matrix44
fun pushModel(): Matrix44
fun pushProjection(): Matrix44
fun pushStyle(): DrawStyle
fun pushTransforms(): Unit
fun pushView(): Matrix44
fun rectangle(rectangle: Rectangle): Unit
fun rectangle(x: Double, y: Double, width: Double, height: Double): Unit
fun rectangle(corner: Vector2, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>): Unit
fun rectangles(rectangles: List<Rectangle>): Unit
fun reset(): Unit
fun rotate(rotationInDegrees: Double): Unit
fun rotate(axis: Vector3, rotationInDegrees: Double): Unit
fun scale(s: Double): Unit
fun scale(x: Double, y: Double): Unit
fun scale(x: Double, y: Double, z: Double): Unit
fun segment(segment: Segment): Unit
fun segment(segment: Segment3D): Unit
fun segments(segments: List<Segment3D>): Unit
fun segments(segments: List<Segment3D>, weights: List<Double>, colors: List<ColorRGBa>): Unit
var shadeStyle: ShadeStyle?
fun shape(shape: Shape): Unit
fun shapes(shapes: List<Shape>): Unit
fun size(width: Int, height: Int): Unit
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2): Unit
fun text(text: String, x: Double = 0.0, y: Double = 0.0): Unit
fun texts(texts: List<String>, positions: List<Vector2>): Unit
fun translate(t: Vector2): Unit
fun translate(t: Vector3): Unit
fun translate(x: Double, y: Double): Unit
fun translate(x: Double, y: Double, z: Double): Unit
fun vertexBuffer(vertexBuffer: VertexBuffer, primitive: DrawPrimitive, vertexOffset: Int = 0, vertexCount: Int = vertexBuffer.vertexCount): Unit
fun vertexBuffer(vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBuffer(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, primitive: DrawPrimitive, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
fun vertexBufferInstances(vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, vertexCount: Int = vertexBuffers[0].vertexCount): Unit
fun vertexBufferInstances(indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, primitive: DrawPrimitive, instanceCount: Int, offset: Int = 0, indexCount: Int = indexBuffer.indexCount): Unit
var view: Matrix44
var width: Int
fun withTarget(target: RenderTarget, action: Drawer.() -> Unit): Unit
open class Filter
class FontImageMap : FontMap
Module Contents
FontImageMap(texture: ColorBuffer, map: Map<Char, IntRectangle>, glyphMetrics: Map<Char, GlyphMetrics>, size: Double, contentScale: Double, ascenderLength: Double, descenderLength: Double, height: Double, leading: Double, name: String)
val ascenderLength: Double
fun characterWidth(character: Char): Double
val contentScale: Double
val descenderLength: Double
fun fromFile(file: String, size: Double, contentScale: Double = 1.0): FontImageMap
fun fromUrl(fontUrl: String, size: Double, contentScale: Double = 1.0): FontImageMap
val glyphMetrics: Map<Char, GlyphMetrics>
val height: Double
fun kerning(left: Char, right: Char): Double
val kerningTable: MutableMap<CharacterPair, Double>
val leading: Double
val map: Map<Char, IntRectangle>
val name: String
val size: Double
val texture: ColorBuffer
data class FontImageMapDescriptor
abstract class FontMap
abstract class FontVectorMap : FontMap
class GlyphMetrics
enum class ImageAccess
enum class ImageFileFormat
interface IndexBuffer
enum class IndexType
enum class KernMode
enum class LineCap
enum class LineJoin
enum class MagnifyingFilter
enum class MinifyingFilter
interface ProgramRenderTarget : RenderTarget
interface RenderTarget
Module Contents
val active: RenderTarget
abstract fun attach(name: String, colorBuffer: ColorBuffer, level: Int = 0): Unit
abstract fun attach(colorBuffer: ColorBuffer, level: Int = 0): Unit
abstract fun attach(depthBuffer: DepthBuffer): Unit
abstract fun attach(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
abstract fun attach(arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
abstract fun bind(): Unit
abstract fun blendMode(index: Int, blendMode: BlendMode): Unit
abstract fun clearColor(index: Int, color: ColorRGBa): Unit
abstract fun clearDepth(depth: Double = 1.0, stencil: Int = 0): Unit
abstract fun colorBuffer(index: Int): ColorBuffer
abstract fun colorBuffer(name: String): ColorBuffer
abstract fun colorBufferIndex(name: String): Int
abstract val colorBuffers: List<ColorBuffer>
abstract val contentScale: Double
abstract val depthBuffer: DepthBuffer?
abstract fun destroy(): Unit
abstract fun detachColorBuffers(): Unit
abstract fun detachDepthBuffer(): Unit
open val effectiveHeight: Int
open val effectiveWidth: Int
abstract val hasColorBuffer: Boolean
abstract val hasDepthBuffer: Boolean
abstract val height: Int
abstract val multisample: BufferMultisample
open fun resolveTo(to: RenderTarget): Unit
abstract val session: Session?
abstract fun unbind(): Unit
abstract val width: Int
class RenderTargetBuilder
Module Contents
RenderTargetBuilder(renderTarget: RenderTarget)
fun arrayTexture(arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun colorBuffer(width: Int, height: Int, contentScale: Double = 1.0, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, multisample: BufferMultisample): Nothing
fun colorBuffer(colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, colorBuffer: ColorBuffer, level: Int = 0): Unit
fun colorBuffer(name: String, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8): Unit
fun colorBuffer(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int = 0): Unit
fun depthBuffer(format: DepthFormat = DepthFormat.DEPTH24_STENCIL8): Unit
fun depthBuffer(depthBuffer: DepthBuffer): Unit
class Session
class SessionStatistics
Module Contents
SessionStatistics(renderTargets: Int, colorBuffers: Int, depthBuffers: Int, bufferTextures: Int, indexBuffers: Int, vertexBuffers: Int, shaders: Int, cubemaps: Int, arrayTextures: Int, computeShaders: Int, atomicCounterBuffers: Int)
val arrayTextures: Int
val atomicCounterBuffers: Int
val bufferTextures: Int
val colorBuffers: Int
val computeShaders: Int
val cubemaps: Int
val depthBuffers: Int
val indexBuffers: Int
val renderTargets: Int
val shaders: Int
val vertexBuffers: Int
data class ShadeStructure
Module Contents
ShadeStructure(uniforms: String? = null, attributes: String? = null, : String? = null, fragmentTransform: String? = null, vertexPreamble: String? = null, fragmentPreamble: String? = null, outputs: String? = null, varyingOut: String? = null, varyingIn: String? = null, varyingBridge: String? = null, suppressDefaultOutput: Boolean = false)
var attributes: String?
var fragmentPreamble: String?
var fragmentTransform: String?
var outputs: String?
var suppressDefaultOutput: Boolean
var uniforms: String?
var varyingBridge: String?
var varyingIn: String?
var varyingOut: String?
var vertexPreamble: String?
var vertexTransform: String?
open class ShadeStyle
Module Contents
ShadeStyle()
ShadeStyle(other: ShadeStyle)
inner class Parameter<R : Any> : ReadWriteProperty<ShadeStyle, R>
var attributes: MutableList<VertexBuffer>
fun attributes(attributesBuffer: VertexBuffer): Unit
var fragmentPreamble: String?
var fragmentTransform: String?
fun output(name: String, slot: Int): Unit
var outputs: MutableMap<String, Int>
fun parameter(name: String, value: Cubemap): Unit
fun parameter(name: String, value: Int): Unit
fun parameter(name: String, value: Matrix33): Unit
fun parameter(name: String, value: Matrix44): Unit
fun parameter(name: String, value: Float): Unit
fun parameter(name: String, value: Double): Unit
fun parameter(name: String, value: Vector2): Unit
fun parameter(name: String, value: Vector3): Unit
fun parameter(name: String, value: Vector4): Unit
fun parameter(name: String, value: ColorRGBa): Unit
fun parameter(name: String, value: ColorBuffer): Unit
fun parameter(name: String, value: DepthBuffer): Unit
fun parameter(name: String, value: ArrayTexture): Unit
fun parameter(name: String, value: BufferTexture): Unit
var parameterValues: MutableMap<String, Any>
var parameters: MutableMap<String, String>
operator fun plus(other: ShadeStyle): ShadeStyle
var suppressDefaultOutput: Boolean
var vertexPreamble: String?
var vertexTransform: String?
class ShadeStyleFilter : Filter
abstract class ShadeStyleManager
interface Shader
Module Contents
abstract fun begin(): Unit
abstract fun block(blockName: String, block: UniformBlock): Unit
abstract fun blockLayout(blockName: String): UniformBlockLayout?
abstract fun createBlock(blockName: String): UniformBlock
fun createFromCode(vsCode: String, fsCode: String, session: Session? = Session.active): Shader
fun createFromUrls(vsUrl: String, fsUrl: String, session: Session? = Session.active): Shader
abstract fun destroy(): Unit
abstract fun end(): Unit
abstract fun hasUniform(name: String): Boolean
abstract val session: Session?
abstract fun uniform(name: String, value: Matrix33): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float, z: Float): Unit
abstract fun uniform(name: String, x: Float, y: Float): Unit
abstract fun uniform(name: String, value: Double): Unit
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Int): Unit
abstract fun uniform(name: String, value: Boolean): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: FloatArray): Unit
class ShaderWatcher
class ShaderWatcherBuilder
enum class StencilOperation
class StencilStyle
enum class StencilTest
interface UniformBlock
Module Contents
abstract val dirty: Boolean
abstract val layout: UniformBlockLayout
abstract fun uniform(name: String, value: Float): Unit
abstract fun uniform(name: String, value: Vector2): Unit
abstract fun uniform(name: String, value: Vector3): Unit
abstract fun uniform(name: String, value: Vector4): Unit
abstract fun uniform(name: String, value: ColorRGBa): Unit
abstract fun uniform(name: String, value: Matrix44): Unit
abstract fun uniform(name: String, value: Matrix55): Unit
abstract fun uniform(name: String, value: Array<Float>): Unit
abstract fun uniform(name: String, value: Array<Vector2>): Unit
abstract fun uniform(name: String, value: Array<Vector3>): Unit
abstract fun uniform(name: String, value: Array<Vector4>): Unit
abstract fun upload(): Unit
data class UniformBlockLayout
data class UniformDescription
enum class UniformType
interface VertexBuffer
interface VertexBufferShadow
data class VertexElement
enum class VertexElementType
class VertexFormat
enum class WrapMode
fun arrayTexture(width: Int, height: Int, layers: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, levels: Int = 1, session: Session = Session.active): ArrayTexture
fun bufferTexture(elementCount: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.FLOAT32, session: Session? = Session.active): BufferTexture
fun codeFromStream(stream: InputStream): String
fun codeFromURL(url: URL): String
fun codeFromURL(url: String): String
fun colorBuffer(width: Int, height: Int, contentScale: Double = 1.0, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, multisample: BufferMultisample = BufferMultisample.Disabled, levels: Int = 1, session: Session? = Session.active): ColorBuffer
fun constant(color: ColorRGBa, ignoreAlpha: Boolean = true): Matrix55
fun cubemap(width: Int, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.UINT8, session: Session?): Cubemap
fun depthBuffer(width: Int, height: Int, format: DepthFormat = DepthFormat.DEPTH24_STENCIL8, multisample: BufferMultisample): DepthBuffer
fun drawThread(): DrawThread
fun filterShaderFromCode(fragmentShaderCode: String): Shader
fun filterShaderFromUrl(url: String): Shader
fun filterWatcherFromUrl(url: String): ShaderWatcher
fun grayscale(r: Double = 0.33, g: Double = 0.33, b: Double = 0.33): Matrix55
fun indexBuffer(elementCount: Int, type: IndexType): IndexBuffer
val invert: Matrix55
fun Drawer.isolated(function: Drawer.() -> Unit): Unit
fun Drawer.isolatedWithTarget(target: RenderTarget, function: Drawer.() -> Unit): Unit
fun DrawThread.launch(context: CoroutineContext = this.dispatcher, start: CoroutineStart = CoroutineStart.DEFAULT, block: suspend CoroutineScope.() -> Unit): Job
fun Program.loadFont(fileOrUrl: String, size: Double, contentScale: Double = this.drawer.context.contentScale): FontImageMap
fun loadFont(fileOrUrl: String, size: Double, contentScale: Double = 1.0): FontImageMap
fun loadImage(fileOrUrl: String, session: Session? = Session.active): ColorBuffer
fun loadImage(file: File, session: Session? = Session.active): ColorBuffer
fun loadImage(url: URL, session: Session? = Session.active): ColorBuffer
fun <T> persistent(builder: () -> T): T
fun renderTarget(width: Int, height: Int, contentScale: Double = 1.0, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session? = Session.active, builder: RenderTargetBuilder.() -> Unit): RenderTarget
fun session(code: () -> Unit): Unit
fun shadeStyle(builder: ShadeStyle.() -> Unit): ShadeStyle
fun shaderWatcher(init: ShaderWatcherBuilder.() -> Unit): ShaderWatcher
fun tint(color: ColorRGBa): Matrix55
fun vertexBuffer(vertexFormat: VertexFormat, vertexCount: Int, session: Session? = Session.active): VertexBuffer
fun vertexFormat(builder: VertexFormat.() -> Unit): VertexFormat
package org.openrndr.events
package org.openrndr.exceptions
package org.openrndr.extensions
package org.openrndr.ffmpeg
Module Contents
class FrameEvent
class MP4Profile : VideoWriterProfile
enum class PlayMode
class ScreenRecorder : Extension
enum class State
class VideoEvent
class VideoPlayerConfiguration
class VideoPlayerFFMPEG
Module Contents
var audioGain: Double
var colorBuffer: ColorBuffer?
fun defaultDevice(): String
fun dispose(): Unit
fun draw(drawer: Drawer, blind: Boolean = false, update: Boolean = true): Unit
fun draw(drawer: Drawer, x: Double = 0.0, y: Double = 0.0, width: Double = this.width.toDouble(), height: Double = this.height.toDouble(), blind: Boolean = false, update: Boolean = true): Unit
fun draw(drawer: Drawer, source: Rectangle, target: Rectangle, blind: Boolean = false, update: Boolean = true): Unit
val ended: Event<VideoEvent>
fun fromDevice(deviceName: String = defaultDevice(), mode: PlayMode = PlayMode.VIDEO, frameRate: Double? = null, imageWidth: Int? = null, imageHeight: Int? = null, configuration: VideoPlayerConfiguration = VideoPlayerConfiguration()): VideoPlayerFFMPEG
fun fromFile(fileName: String, mode: PlayMode = PlayMode.BOTH, configuration: VideoPlayerConfiguration = VideoPlayerConfiguration(), clock: () -> Double = { System.currentTimeMillis() / 1000.0 }): VideoPlayerFFMPEG
val height: Int
fun listDeviceNames(): List<String>
val newFrame: Event<FrameEvent>
fun pause(): Unit
fun play(): Unit
fun restart(): Unit
fun resume(): Unit
fun seek(positionInSeconds: Double): Unit
val statistics: VideoStatistics
val width: Int
class VideoStatistics
class VideoWriter
abstract class VideoWriterProfile
class X265Profile : VideoWriterProfile
fun Program.loadVideo(fileOrUrl: String, mode: PlayMode = PlayMode.BOTH, configuration: VideoPlayerConfiguration = VideoPlayerConfiguration()): VideoPlayerFFMPEG
fun loadVideoDevice(deviceName: String = VideoPlayerFFMPEG.defaultDevice(), mode: PlayMode = PlayMode.VIDEO, width: Int? = null, height: Int? = null, frameRate: Double? = null, configuration: VideoPlayerConfiguration = VideoPlayerConfiguration()): VideoPlayerFFMPEG
package org.openrndr.filter.color
package org.openrndr.internal
Module Contents
class CharacterRectangle
class CircleDrawer
Module Contents
CircleDrawer()
fun drawCircle(drawContext: DrawContext, drawStyle: DrawStyle, x: Double, y: Double, radius: Double): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, radii: List<Double>): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, radius: Double): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, circles: List<Circle>): Unit
fun drawCircles(drawContext: DrawContext, drawStyle: DrawStyle, instanceAttributes: VertexBuffer, count: Int): Unit
class ColorBufferLoader
interface Driver
Module Contents
abstract val activeRenderTarget: RenderTarget
abstract fun clear(r: Double, g: Double, b: Double, a: Double): Unit
open fun clear(color: ColorRGBa): Unit
abstract val contextID: Long
abstract fun createArrayTexture(width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int = 1, session: Session? = Session.active): ArrayTexture
abstract fun createAtomicCounterBuffer(counterCount: Int, session: Session? = Session.active): AtomicCounterBuffer
abstract fun createBufferTexture(elementCount: Int, format: ColorFormat, type: ColorType, session: Session? = Session.active): BufferTexture
abstract fun createColorBuffer(width: Int, height: Int, contentScale: Double, format: ColorFormat, type: ColorType, multisample: BufferMultisample = BufferMultisample.Disabled, levels: Int = 1, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromArray(array: ByteArray, offset: Int = 0, length: Int = 0, name: String? = null, formatHint: ImageFileFormat? = null, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromBuffer(buffer: ByteBuffer, name: String? = null, formatHint: ImageFileFormat? = null, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromFile(filename: String, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromStream(stream: InputStream, name: String? = null, formatHint: ImageFileFormat? = null, session: Session? = Session.active): ColorBuffer
abstract fun createColorBufferFromUrl(url: String, session: Session? = Session.active): ColorBuffer
abstract fun createComputeShader(code: String, session: Session? = Session.active): ComputeShader
abstract fun createCubemap(width: Int, format: ColorFormat, type: ColorType, session: Session? = Session.active): Cubemap
abstract fun createCubemapFromUrls(urls: List<String>, session: Session? = Session.active): Cubemap
abstract fun createDepthBuffer(width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session? = Session.active): DepthBuffer
abstract fun createDrawThread(session: Session? = Session.active): DrawThread
abstract fun createDynamicIndexBuffer(elementCount: Int, type: IndexType, session: Session? = Session.active): IndexBuffer
abstract fun createDynamicVertexBuffer(format: VertexFormat, vertexCount: Int, session: Session? = Session.active): VertexBuffer
abstract fun createRenderTarget(width: Int, height: Int, contentScale: Double = 1.0, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session? = Session.active): RenderTarget
abstract fun createResourceThread(session: Session? = Session.active, f: () -> Unit): ResourceThread
abstract fun createShadeStyleManager(vertexShaderGenerator: (ShadeStructure) -> String, fragmentShaderGenerator: (ShadeStructure) -> String, session: Session? = Session.root): ShadeStyleManager
abstract fun createShader(vsCode: String, fsCode: String, session: Session? = Session.active): Shader
abstract fun createStaticVertexBuffer(format: VertexFormat, buffer: Buffer, session: Session? = Session.active): VertexBuffer
abstract fun drawIndexedInstances(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int, instanceCount: Int): Unit
abstract fun drawIndexedVertexBuffer(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int): Unit
abstract fun drawInstances(shader: Shader, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int, instanceCount: Int): Unit
abstract fun drawVertexBuffer(shader: Shader, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int): Unit
lateinit var driver: Driver
abstract fun finish(): Unit
abstract val fontImageMapManager: FontMapManager
abstract val fontVectorMapManager: FontMapManager
val instance: Driver
abstract fun internalShaderResource(resourceId: String): String
abstract fun setState(drawStyle: DrawStyle): Unit
abstract val shaderGenerators: ShaderGenerators
class FontImageMapDrawer
Module Contents
FontImageMapDrawer()
fun drawText(context: DrawContext, drawStyle: DrawStyle, text: String, x: Double, y: Double): Unit
fun drawTexts(context: DrawContext, drawStyle: DrawStyle, texts: List<String>, positions: List<Vector2>): Unit
fun flush(context: DrawContext, drawStyle: DrawStyle): Unit
fun queueText(fontMap: FontMap, text: String, x: Double, y: Double, tracking: Double = 0.0, kerning: KernMode = KernMode.METRIC): Unit
var queuedInstances: Int
abstract class FontMapManager
class ImageDrawer
Module Contents
ImageDrawer()
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, colorBuffer: ColorBuffer, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, arrayTexture: ArrayTexture, layers: List<Int>, rectangles: List<Pair<Rectangle, Rectangle>>): Unit
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, colorBuffer: ColorBuffer, x: Double, y: Double, width: Double, height: Double): Unit
fun drawImage(drawContext: DrawContext, drawStyle: DrawStyle, arrayTexture: ArrayTexture, layer: Int, x: Double, y: Double, width: Double, height: Double): Unit
class MeshLineDrawer
Module Contents
MeshLineDrawer()
fun drawLineLoops(drawContext: DrawContext, drawStyle: DrawStyle, loops: List<List<Vector3>>, weights: List<Double> = emptyList()): Unit
fun drawLineSegments(drawContext: DrawContext, drawStyle: DrawStyle, segments: List<Vector3>, weights: List<Double> = emptyList(), colors: List<ColorRGBa> = emptyList()): Unit
fun drawLineStrips(drawContext: DrawContext, drawStyle: DrawStyle, strips: List<List<Vector3>>, weights: List<Double> = emptyList(), colors: List<ColorRGBa> = emptyList()): Unit
class PerformanceLineDrawer
class PointDrawer
Module Contents
PointDrawer()
fun drawPoint(drawContext: DrawContext, drawStyle: DrawStyle, x: Double, y: Double, z: Double): Unit
@JvmName("drawPoints2D") fun drawPoints(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>): Unit
@JvmName("drawPoints3D") fun drawPoints(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector3>): Unit
fun drawPoints(drawContext: DrawContext, drawStyle: DrawStyle, instanceAttributes: VertexBuffer, count: Int): Unit
val vertices: VertexBuffer
class QualityLineDrawer
Module Contents
QualityLineDrawer()
fun drawLineLoops(drawContext: DrawContext, drawStyle: DrawStyle, strips: List<List<Vector2>>): Unit
fun drawLineLoops(drawContext: DrawContext, drawStyle: DrawStyle, strips: List<List<Vector2>>, weights: List<Double>): Unit
fun drawLineStrips(drawContext: DrawContext, drawStyle: DrawStyle, strips: Iterable<Iterable<Vector2>>): Unit
fun drawLineStrips(drawContext: DrawContext, drawStyle: DrawStyle, strips: Iterable<Iterable<Vector2>>, weights: List<Double>): Unit
class QualityPolygonDrawer
class RectangleDrawer
Module Contents
RectangleDrawer()
fun drawRectangle(drawContext: DrawContext, drawStyle: DrawStyle, x: Double, y: Double, width: Double, height: Double): Unit
fun drawRectangles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, dimensions: List<Vector2>): Unit
fun drawRectangles(drawContext: DrawContext, drawStyle: DrawStyle, positions: List<Vector2>, width: Double, height: Double): Unit
fun drawRectangles(drawContext: DrawContext, drawStyle: DrawStyle, rectangles: List<Rectangle>): Unit
interface ResourceThread
interface ShaderGenerators
class VertexBufferDrawer
Module Contents
VertexBufferDrawer()
fun drawVertexBuffer(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, vertexBuffers: List<VertexBuffer>, offset: Int, vertexCount: Int): Unit
fun drawVertexBuffer(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, offset: Int, indexCount: Int): Unit
fun drawVertexBufferInstances(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, offset: Int, vertexCount: Int, instanceCount: Int): Unit
fun drawVertexBufferInstances(drawContext: DrawContext, drawStyle: DrawStyle, primitive: DrawPrimitive, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, offset: Int, indexCount: Int, instanceCount: Int): Unit
val colorBufferLoader: ColorBufferLoader
fun finish(): Unit
package org.openrndr.internal.gl3
Module Contents
class ApplicationEGLGL3 : Application
class ApplicationGLFWGL3 : Application
class ArrayTextureGL3 : ArrayTexture
Module Contents
ArrayTextureGL3(target: Int, texture: Int, width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int, session: Session?)
fun bind(unit: Int): Unit
fun copyTo(layer: Int, target: ColorBuffer, fromLevel: Int, toLevel: Int): Unit
fun copyTo(layer: Int, target: ArrayTexture, targetLayer: Int, fromLevel: Int, toLevel: Int): Unit
fun create(width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int, session: Session?): ArrayTextureGL3
fun destroy(): Unit
var filterMag: MagnifyingFilter
var filterMin: MinifyingFilter
var flipV: Boolean
val format: ColorFormat
fun generateMipmaps(): Unit
val height: Int
val layers: Int
val levels: Int
fun read(layer: Int, buffer: ByteBuffer, level: Int): Unit
val session: Session?
val target: Int
val texture: Int
val type: ColorType
val width: Int
var wrapU: WrapMode
var wrapV: WrapMode
fun write(layer: Int, buffer: ByteBuffer, sourceFormat: ColorFormat, sourceType: ColorType, level: Int): Unit
class AtomicCounterBufferGL43 : AtomicCounterBuffer
class BufferTextureGL3 : BufferTexture
class BufferTextureShadowGL3 : BufferTextureShadow
class BufferWriterGL3 : BufferWriter
class ColorBufferDataGL3
Module Contents
ColorBufferDataGL3(width: Int, height: Int, format: ColorFormat, type: ColorType, data: ByteBuffer?, destroyFunction: (ByteBuffer) -> Unit = null)
var data: ByteBuffer?
fun destroy(): Unit
var destroyFunction: (ByteBuffer) -> Unit
val format: ColorFormat
fun fromArray(bytes: ByteArray, offset: Int = 0, length: Int = bytes.size, name: String? = null, formatHint: ImageFileFormat? = null): ColorBufferDataGL3
fun fromByteBuffer(buffer: ByteBuffer, name: String? = null, formatHint: ImageFileFormat? = null): ColorBufferDataGL3
fun fromFile(filename: String): ColorBufferDataGL3
fun fromStream(stream: InputStream, name: String? = null, formatHint: ImageFileFormat? = null): ColorBufferDataGL3
fun fromUrl(urlString: String): ColorBufferDataGL3
val height: Int
val type: ColorType
val width: Int
class ColorBufferGL3 : ColorBuffer
Module Contents
ColorBufferGL3(target: Int, texture: Int, width: Int, height: Int, contentScale: Double, format: ColorFormat, type: ColorType, levels: Int, multisample: BufferMultisample, session: Session?)
var anisotropy: Double
fun bind(unit: Int): Unit
fun bound(f: ColorBufferGL3.() -> Unit): Unit
val contentScale: Double
fun copyTo(target: ColorBuffer, fromLevel: Int, toLevel: Int): Unit
fun copyTo(target: ArrayTexture, layer: Int, fromLevel: Int, toLevel: Int): Unit
fun create(width: Int, height: Int, contentScale: Double = 1.0, format: ColorFormat = ColorFormat.RGBa, type: ColorType = ColorType.FLOAT32, multisample: BufferMultisample, levels: Int, session: Session?): ColorBufferGL3
fun destroy(): Unit
fun destroyShadow(): Unit
fun fill(color: ColorRGBa): Unit
var filterMag: MagnifyingFilter
var filterMin: MinifyingFilter
var flipV: Boolean
val format: ColorFormat
fun fromArray(array: ByteArray, offset: Int = 0, length: Int = array.size, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun fromBuffer(buffer: ByteBuffer, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun fromColorBufferData(data: ColorBufferDataGL3, session: Session?): ColorBuffer
fun fromFile(filename: String, session: Session?): ColorBuffer
fun fromStream(stream: InputStream, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun fromUrl(url: String, session: Session?): ColorBuffer
fun generateMipmaps(): Unit
val height: Int
val levels: Int
val multisample: BufferMultisample
fun read(buffer: ByteBuffer, targetFormat: ColorFormat, targetType: ColorType, level: Int): Unit
var realShadow: ColorBufferShadow?
fun resolveTo(target: ColorBuffer, fromLevel: Int, toLevel: Int): Unit
fun saveToFile(file: File, imageFileFormat: ImageFileFormat, async: Boolean): Unit
val session: Session?
val shadow: ColorBufferShadow
val target: Int
val texture: Int
fun toDataUrl(imageFileFormat: ImageFileFormat): String
val type: ColorType
val width: Int
var wrapU: WrapMode
var wrapV: WrapMode
fun write(buffer: ByteBuffer, sourceFormat: ColorFormat, sourceType: ColorType, level: Int): Unit
class ColorBufferShadowGL3 : ColorBufferShadow
Module Contents
ColorBufferShadowGL3(colorBuffer: ColorBufferGL3)
val buffer: ByteBuffer
val colorBuffer: ColorBufferGL3
fun destroy(): Unit
fun download(): Unit
val elementSize: Int
inline fun mapBoolean(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Boolean): Array<BooleanArray>
inline fun mapDouble(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Double): Array<DoubleArray>
inline fun mapFloat(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Float): Array<FloatArray>
fun <T> mapIndexed(xrange: IntProgression, yrange: IntProgression, mapper: (x: Int, y: Int, r: Double, g: Double, b: Double, a: Double) -> T): Array<List<T>>
inline fun mapInt(crossinline mapper: (r: Double, g: Double, b: Double, a: Double) -> Int): Array<IntArray>
fun read(x: Int, y: Int): ColorRGBa
val size: Int
fun upload(): Unit
fun write(x: Int, y: Int, r: Double, g: Double, b: Double, a: Double): Unit
fun writer(): BufferWriter
class ComputeShaderGL43 : ComputeShader
Module Contents
ComputeShaderGL43(programObject: Int, name: String = "compute_shader")
fun buffer(name: String, vertexBuffer: VertexBuffer): Unit
fun counters(bindingIndex: Int, counterBuffer: AtomicCounterBuffer): Unit
fun createFromCode(code: String): ComputeShaderGL43
fun destroy(): Unit
fun execute(width: Int, height: Int, depth: Int): Unit
fun image(name: String, image: Int, colorBuffer: ColorBuffer, access: ImageAccess): Unit
fun image(name: String, image: Int, arrayTexture: ArrayTexture, layer: Int, access: ImageAccess): Unit
fun image(name: String, image: Int, arrayTexture: ArrayTexture, access: ImageAccess): Unit
fun image(name: String, image: Int, cubemap: Cubemap, access: ImageAccess): Unit
val name: String
val programObject: Int
fun uniform(name: String, value: ColorRGBa): Unit
fun uniform(name: String, value: Vector3): Unit
fun uniform(name: String, value: Vector4): Unit
fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
fun uniform(name: String, x: Float, y: Float, z: Float): Unit
fun uniform(name: String, x: Float, y: Float): Unit
fun uniform(name: String, value: Int): Unit
fun uniform(name: String, value: Boolean): Unit
fun uniform(name: String, value: Vector2): Unit
fun uniform(name: String, value: Float): Unit
fun uniform(name: String, value: Double): Unit
fun uniform(name: String, value: Matrix33): Unit
fun uniform(name: String, value: Matrix44): Unit
fun uniform(name: String, value: Array<Vector2>): Unit
fun uniform(name: String, value: Array<Vector3>): Unit
fun uniform(name: String, value: Array<Vector4>): Unit
fun uniform(name: String, value: FloatArray): Unit
class CubemapGL3 : Cubemap
Module Contents
CubemapGL3(texture: Int, width: Int, sides: List<ColorBuffer>, type: ColorType, format: ColorFormat, session: Session?)
fun bind(textureUnit: Int): Unit
fun create(width: Int, format: ColorFormat, type: ColorType, session: Session?): CubemapGL3
fun destroy(): Unit
fun filter(min: MinifyingFilter, mag: MagnifyingFilter): Unit
val format: ColorFormat
fun fromUrl(url: String, session: Session?): CubemapGL3
fun fromUrls(urls: List<String>, session: Session?): CubemapGL3
fun generateMipmaps(): Unit
val session: Session?
fun side(side: CubemapSide): ColorBuffer
val sides: List<ColorBuffer>
val texture: Int
val type: ColorType
val width: Int
class DepthBufferGL3 : DepthBuffer
Module Contents
DepthBufferGL3(texture: Int, target: Int, width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample, session: Session?)
fun bind(textureUnit: Int): Unit
fun bound(f: DepthBufferGL3.() -> Unit): Unit
fun copyTo(target: DepthBuffer): Unit
fun create(width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample, session: Session?): DepthBufferGL3
fun destroy(): Unit
val format: DepthFormat
val height: Int
val multisample: BufferMultisample
fun resolveTo(target: DepthBuffer): Unit
val session: Session?
val target: Int
val texture: Int
val width: Int
class DrawThreadGL3 : DrawThread
class DriverGL3 : Driver
Module Contents
DriverGL3(version: DriverVersionGL)
val activeRenderTarget: RenderTarget
fun clear(r: Double, g: Double, b: Double, a: Double): Unit
val contextID: Long
fun createArrayTexture(width: Int, height: Int, layers: Int, format: ColorFormat, type: ColorType, levels: Int, session: Session?): ArrayTexture
fun createAtomicCounterBuffer(counterCount: Int, session: Session?): AtomicCounterBuffer
fun createBufferTexture(elementCount: Int, format: ColorFormat, type: ColorType, session: Session?): BufferTexture
fun createColorBuffer(width: Int, height: Int, contentScale: Double, format: ColorFormat, type: ColorType, multisample: BufferMultisample, levels: Int, session: Session?): ColorBuffer
fun createColorBufferFromArray(array: ByteArray, offset: Int, length: Int, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun createColorBufferFromBuffer(buffer: ByteBuffer, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun createColorBufferFromFile(filename: String, session: Session?): ColorBuffer
fun createColorBufferFromStream(stream: InputStream, name: String?, formatHint: ImageFileFormat?, session: Session?): ColorBuffer
fun createColorBufferFromUrl(url: String, session: Session?): ColorBuffer
fun createComputeShader(code: String, session: Session?): ComputeShader
fun createCubemap(width: Int, format: ColorFormat, type: ColorType, session: Session?): Cubemap
fun createCubemapFromUrls(urls: List<String>, session: Session?): Cubemap
fun createDepthBuffer(width: Int, height: Int, format: DepthFormat, multisample: BufferMultisample, session: Session?): DepthBuffer
fun createDrawThread(session: Session?): DrawThread
fun createDynamicIndexBuffer(elementCount: Int, type: IndexType, session: Session?): IndexBuffer
fun createDynamicVertexBuffer(format: VertexFormat, vertexCount: Int, session: Session?): VertexBuffer
fun createRenderTarget(width: Int, height: Int, contentScale: Double, multisample: BufferMultisample, session: Session?): RenderTarget
fun createResourceThread(session: Session?, f: () -> Unit): ResourceThread
fun createShadeStyleManager(vertexShaderGenerator: (ShadeStructure) -> String, fragmentShaderGenerator: (ShadeStructure) -> String, session: Session?): ShadeStyleManager
fun createShader(vsCode: String, fsCode: String, session: Session?): Shader
fun createStaticVertexBuffer(format: VertexFormat, buffer: Buffer, session: Session?): VertexBuffer
fun drawIndexedInstances(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int, instanceCount: Int): Unit
fun drawIndexedVertexBuffer(shader: Shader, indexBuffer: IndexBuffer, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, indexOffset: Int, indexCount: Int): Unit
fun drawInstances(shader: Shader, vertexBuffers: List<VertexBuffer>, instanceAttributes: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int, instanceCount: Int): Unit
fun drawVertexBuffer(shader: Shader, vertexBuffers: List<VertexBuffer>, drawPrimitive: DrawPrimitive, vertexOffset: Int, vertexCount: Int): Unit
fun finish(): Unit
val fontImageMapManager: FontMapManager
val fontVectorMapManager: FontMapManager
fun internalShaderResource(resourceId: String): String
fun setState(drawStyle: DrawStyle): Unit
val shaderGenerators: ShaderGenerators
val version: DriverVersionGL
enum class DriverVersionGL
class FontImageMapManagerGL3 : FontMapManager
class FragmentShaderGL3
class GL3Exception : Exception
class IndexBufferGL3 : IndexBuffer
class NullRenderTargetGL3 : RenderTargetGL3
class ProgramRenderTargetGL3 : ProgramRenderTarget, RenderTargetGL3
open class RenderTargetGL3 : RenderTarget
Module Contents
RenderTargetGL3(framebuffer: Int, width: Int, height: Int, contentScale: Double, multisample: BufferMultisample, session: Session?, thread: Thread = Thread.currentThread())
val activeRenderTarget: RenderTargetGL3
open fun attach(name: String, colorBuffer: ColorBuffer, level: Int): Unit
open fun attach(colorBuffer: ColorBuffer, level: Int): Unit
open fun attach(name: String, arrayTexture: ArrayTexture, layer: Int, level: Int): Unit
open fun attach(arrayTexture: ArrayTexture, layer: Int, level: Int): Unit
open fun attach(depthBuffer: DepthBuffer): Unit
open fun bind(): Unit
open fun blendMode(index: Int, blendMode: BlendMode): Unit
open fun clearColor(index: Int, color: ColorRGBa): Unit
open fun clearDepth(depth: Double, stencil: Int): Unit
open fun colorBuffer(index: Int): ColorBuffer
open fun colorBuffer(name: String): ColorBuffer
open fun colorBufferIndex(name: String): Int
open val colorBuffers: List<ColorBuffer>
open val contentScale: Double
fun create(width: Int, height: Int, contentScale: Double = 1.0, multisample: BufferMultisample = BufferMultisample.Disabled, session: Session?): RenderTargetGL3
open val depthBuffer: DepthBuffer?
open fun destroy(): Unit
var destroyed: Boolean
open fun detachColorBuffers(): Unit
open fun detachDepthBuffer(): Unit
val framebuffer: Int
open val hasColorBuffer: Boolean
open val hasDepthBuffer: Boolean
open val height: Int
open val multisample: BufferMultisample
open val session: Session?
open fun unbind(): Unit
open val width: Int
class ResourceThreadGL3 : ResourceThread
class ShadeStyleManagerGL3 : ShadeStyleManager
class ShaderGL3 : Shader
Module Contents
ShaderGL3(program: Int, name: String, vertexShader: VertexShaderGL3, fragmentShader: FragmentShaderGL3, session: Session?)
fun attributeIndex(name: String): Int
fun begin(): Unit
fun block(blockName: String, block: UniformBlock): Unit
fun blockIndex(block: String): Int
fun blockLayout(blockName: String): UniformBlockLayout?
fun create(vertexShader: VertexShaderGL3, fragmentShader: FragmentShaderGL3, session: Session?): ShaderGL3
fun createBlock(blockName: String): UniformBlock
fun destroy(): Unit
fun end(): Unit
val fragmentShader: FragmentShaderGL3
fun hasUniform(name: String): Boolean
val name: String
val program: Int
val session: Session?
fun uniform(name: String, value: ColorRGBa): Unit
fun uniform(name: String, value: Vector3): Unit
fun uniform(name: String, value: Vector4): Unit
fun uniform(name: String, x: Float, y: Float, z: Float, w: Float): Unit
fun uniform(name: String, x: Float, y: Float, z: Float): Unit
fun uniform(name: String, x: Float, y: Float): Unit
fun uniform(name: String, value: Int): Unit
fun uniform(name: String, value: Boolean): Unit
fun uniform(name: String, value: Vector2): Unit
fun uniform(name: String, value: Float): Unit
fun uniform(name: String, value: Double): Unit
fun uniform(name: String, value: Matrix33): Unit
fun uniform(name: String, value: Matrix44): Unit
fun uniform(name: String, value: Array<Vector2>): Unit
fun uniform(name: String, value: Array<Vector3>): Unit
fun uniform(name: String, value: Array<Vector4>): Unit
fun uniform(name: String, value: FloatArray): Unit
fun uniformIndex(uniform: String, query: Boolean = false): Int
val vertexShader: VertexShaderGL3
class ShaderGeneratorsGL3 : ShaderGenerators
class UniformBlockGL3 : UniformBlock
Module Contents
UniformBlockGL3(layout: UniformBlockLayout, blockBinding: Int, ubo: Int, shadowBuffer: ByteBuffer)
val blockBinding: Int
fun create(layout: UniformBlockLayout): UniformBlockGL3
val dirty: Boolean
val layout: UniformBlockLayout
var realDirty: Boolean
val shadowBuffer: ByteBuffer
val ubo: Int
fun uniform(name: String, value: Float): Unit
fun uniform(name: String, value: Vector2): Unit
fun uniform(name: String, value: Vector3): Unit
fun uniform(name: String, value: ColorRGBa): Unit
fun uniform(name: String, value: Vector4): Unit
fun uniform(name: String, value: Matrix44): Unit
fun uniform(name: String, value: Matrix55): Unit
fun uniform(name: String, value: Array<Float>): Unit
fun uniform(name: String, value: Array<Vector2>): Unit
fun uniform(name: String, value: Array<Vector3>): Unit
fun uniform(name: String, value: Array<Vector4>): Unit
fun upload(): Unit
class VertexBufferGL3 : VertexBuffer
class VertexBufferShadowGL3 : VertexBufferShadow
class VertexShaderGL3
fun array(item: VertexElement): String
fun checkGLErrors(errorFunction: (Int) -> String? = null): Unit
fun checkProgramInfoLog(object: Int, sourceFile: String): Unit
fun debugGLErrors(errorFunction: (Int) -> String? = null): Unit
fun fragmentConstants(instance: String = "v_instance", element: String = "0", screenPosition: String = "gl_FragCoord.xy / u_contentScale", contourPosition: String = "0", boundsPosition: String = "vec3(0.0)", boundsSize: String = "vec3(0.0)"): String
fun ImageAccess.gl(): Int
fun structureFromShadeStyle(shadeStyle: ShadeStyle?, vertexFormats: List<VertexFormat>, instanceAttributeFormats: List<VertexFormat>): ShadeStructure
fun vertexConstants(instance: String = "gl_InstanceID", element: String = "0"): String
package org.openrndr.internal.gl3.dds
package org.openrndr.math
Module Contents
class CatmulRom1
class CatmullRom2
class CatmullRom3
class CatmullRomChain1
class CatmullRomChain2
class CatmullRomChain3
data class IntVector2 : Serializable
data class IntVector3 : Serializable
data class IntVector4 : Serializable
data class Matrix33
Module Contents
Matrix33(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0)
val IDENTITY: Matrix33
val ZERO: Matrix33
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val determinant: Double
fun fromColumnVectors(c0: Vector3, c1: Vector3, c2: Vector3): Matrix33
operator fun get(index: Int): Vector3
val matrix44: Matrix44
operator fun minus(o: Matrix33): Matrix33
operator fun plus(o: Matrix33): Matrix33
operator fun times(v: Vector3): Vector3
operator fun times(s: Double): Matrix33
operator fun times(mat: Matrix33): Matrix33
fun toString(): String
val trace: Double
val transposed: Matrix33
data class Matrix44 : Serializable
Module Contents
Matrix44(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0)
val IDENTITY: Matrix44
val ZERO: Matrix44
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val determinant: Double
fun fromColumnVectors(c0: Vector4, c1: Vector4, c2: Vector4, c3: Vector4): Matrix44
operator fun get(index: Int): Vector4
val inversed: Matrix44
val matrix33: Matrix33
operator fun minus(o: Matrix44): Matrix44
operator fun plus(o: Matrix44): Matrix44
operator fun times(v: Vector4): Vector4
operator fun times(v: Vector3): Vector3
operator fun times(s: Double): Matrix44
operator fun times(mat: Matrix44): Matrix44
fun toString(): String
val trace: Double
val transposed: Matrix44
data class Matrix55
Module Contents
Matrix55(c0r0: Double = 0.0, c1r0: Double = 0.0, c2r0: Double = 0.0, c3r0: Double = 0.0, c4r0: Double = 0.0, c0r1: Double = 0.0, c1r1: Double = 0.0, c2r1: Double = 0.0, c3r1: Double = 0.0, c4r1: Double = 0.0, c0r2: Double = 0.0, c1r2: Double = 0.0, c2r2: Double = 0.0, c3r2: Double = 0.0, c4r2: Double = 0.0, c0r3: Double = 0.0, c1r3: Double = 0.0, c2r3: Double = 0.0, c3r3: Double = 0.0, c4r3: Double = 0.0, c0r4: Double = 0.0, c1r4: Double = 0.0, c2r4: Double = 0.0, c3r4: Double = 0.0, c4r4: Double = 0.0)
val IDENTITY: Matrix55
val ZERO: Matrix55
val c0r0: Double
val c0r1: Double
val c0r2: Double
val c0r3: Double
val c0r4: Double
val c1r0: Double
val c1r1: Double
val c1r2: Double
val c1r3: Double
val c1r4: Double
val c2r0: Double
val c2r1: Double
val c2r2: Double
val c2r3: Double
val c2r4: Double
val c3r0: Double
val c3r1: Double
val c3r2: Double
val c3r3: Double
val c3r4: Double
val c4r0: Double
val c4r1: Double
val c4r2: Double
val c4r3: Double
val c4r4: Double
val floatArray: FloatArray
operator fun plus(mat: Matrix55): Matrix55
operator fun times(mat: Matrix55): Matrix55
operator fun times(s: Double): Matrix55
data class Polar
data class Quaternion : Serializable
Module Contents
Quaternion(x: Double, y: Double, z: Double, w: Double)
val IDENTITY: Quaternion
val ZERO: Quaternion
fun fromAngles(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAnglesRadian(pitch: Double, roll: Double, yaw: Double): Quaternion
fun fromAxes(x: Vector3, y: Vector3, z: Vector3): Quaternion
fun fromLookAt(from: Vector3, to: Vector3, up: Vector3 = Vector3.UNIT_Y): Quaternion
fun fromMatrix(m: Matrix33): Quaternion
val inversed: Quaternion
val length: Double
val matrix: Matrix33
val negated: Quaternion
val norm: Double
val normalized: Quaternion
operator fun times(q: Quaternion): Quaternion
operator fun times(vec: Vector3): Vector3
val w: Double
val x: Double
val y: Double
val z: Double
data class Spherical
data class Vector2 : Serializable
data class Vector3 : Serializable
data class Vector4 : Serializable
fun bezier(x0: Double, c0: Double, x1: Double, t: Double): Double
fun bezier(x0: Vector2, c0: Vector2, x1: Vector2, t: Double): Vector2
fun bezier(x0: Vector3, c0: Vector3, x1: Vector3, t: Double): Vector3
fun bezier(x0: Double, c0: Double, c1: Double, x1: Double, t: Double): Double
fun bezier(x0: Vector2, c0: Vector2, c1: Vector2, x1: Vector2, t: Double): Vector2
fun bezier(x0: Vector3, c0: Vector3, c1: Vector3, x1: Vector3, t: Double): Vector3
fun clamp(value: Double, min: Double, max: Double): Double
fun clamp(value: Int, min: Int, max: Int): Int
fun Vector2.clamp(min: Vector2, max: Vector2): Vector2
fun Vector3.clamp(min: Vector3, max: Vector3): Vector3
fun Vector4.clamp(min: Vector4, max: Vector4): Vector4
fun IntVector2.clamp(min: IntVector2, max: IntVector2): IntVector2
fun IntVector3.clamp(min: IntVector3, max: IntVector3): IntVector3
fun IntVector4.clamp(min: IntVector4, max: IntVector4): IntVector4
fun derivative(x0: Double, c0: Double, x1: Double, t: Double): Double
fun derivative(x0: Vector2, c0: Vector2, x1: Vector2, t: Double): Vector2
fun derivative(x0: Vector3, c0: Vector3, x1: Vector3, t: Double): Vector3
fun derivative(p0: Vector3, p1: Vector3, p2: Vector3, p3: Vector3, t: Double): Vector3
fun derivative(p0: Vector2, p1: Vector2, p2: Vector2, p3: Vector2, t: Double): Vector2
fun dot(q1: Quaternion, q2: Quaternion): Double
kotlin.Double
kotlin.Float
kotlin.Int
kotlin.Long
fun linearstep(edge0: Double, edge1: Double, x: Double): Double
fun map(beforeLeft: Double, beforeRight: Double, afterLeft: Double, afterRight: Double, value: Double): Double
fun Vector2.map(beforeLeft: Vector2, beforeRight: Vector2, afterLeft: Vector2, afterRight: Vector2): Vector2
fun Vector3.map(beforeLeft: Vector3, beforeRight: Vector3, afterLeft: Vector3, afterRight: Vector3): Vector3
fun Vector4.map(beforeLeft: Vector4, beforeRight: Vector4, afterLeft: Vector4, afterRight: Vector4): Vector4
fun max(a: Vector2, b: Vector2): Vector2
fun max(a: Vector3, b: Vector3): Vector3
fun max(a: Vector4, b: Vector4): Vector4
fun min(a: Vector2, b: Vector2): Vector2
fun min(a: Vector3, b: Vector3): Vector3
fun min(a: Vector4, b: Vector4): Vector4
fun mix(left: Double, right: Double, x: Double): Double
fun mod(a: Double, b: Double): Double
fun mod(a: Int, b: Int): Int
fun mod(a: Float, b: Float): Float
fun mod(a: Long, b: Long): Long
fun Vector2.mod(b: Vector2): Vector2
fun Vector3.mod(b: Vector3): Vector3
fun Vector4.mod(b: Vector4): Vector4
fun IntVector2.mod(b: IntVector2): IntVector2
fun IntVector3.mod(b: IntVector3): IntVector3
fun IntVector4.mod(b: IntVector4): IntVector4
fun normal(x0: Vector2, c0: Vector2, x1: Vector2, t: Double): Vector2
fun roots(p: List<Double>): List<Double>
fun safeDerivative(p0: Vector2, p1: Vector2, p2: Vector2, p3: Vector2, t: Double): Vector2
fun saturate(x: Double): Double
fun Vector2.saturate(): Vector2
fun Vector3.saturate(): Vector3
fun Vector4.saturate(): Vector4
fun slerp(q1: Quaternion, q2: Quaternion, x: Double): Quaternion
fun smootherstep(edge0: Double, edge1: Double, x: Double): Double
fun smoothstep(edge0: Double, edge1: Double, x: Double): Double
fun Vector2.smoothstep(edge0: Vector2, edge1: Vector2): Vector2
fun Vector3.smoothstep(edge0: Vector3, edge1: Vector3): Vector3
fun Vector4.smoothstep(edge0: Vector4, edge1: Vector4): Vector4
fun smoothstepIn(edge0: Double, edge1: Double, x: Double): Double
package org.openrndr.math.transforms
Module Contents
class TransformBuilder
fun frustum(left: Double, right: Double, bottom: Double, top: Double, zNear: Double, zFar: Double): Matrix44
fun lookAt(eye: Vector3, target: Vector3, up: Vector3 = Vector3.UNIT_Y): Matrix44
fun normalMatrix(view: Matrix44): Matrix44
fun ortho(xMag: Double, yMag: Double, zNear: Double, zFar: Double): Matrix44
fun ortho(left: Double, right: Double, bottom: Double, top: Double, zNear: Double, zFar: Double): Matrix44
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double): Matrix44
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double): Matrix44
fun perspective(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double, xOffset: Double, yOffset: Double): Matrix44
fun perspectiveHorizontal(fovY: Double, aspectRatio: Double, zNear: Double, zFar: Double, xOffset: Double, yOffset: Double): Matrix44
fun project(point: Vector3, projection: Matrix44, view: Matrix44, width: Int, height: Int): Vector3
fun Matrix44.Companion.rotate(axis: Vector3, angle: Double): Matrix44
fun Matrix44.Companion.rotateX(angle: Double): Matrix44
fun Matrix44.Companion.rotateY(angle: Double): Matrix44
fun Matrix44.Companion.rotateZ(angle: Double): Matrix44
fun Matrix44.Companion.scale(scaleFactor: Vector3): Matrix44
fun Matrix44.Companion.scale(x: Double, y: Double, z: Double): Matrix44
fun transform(builder: TransformBuilder.() -> Unit): Matrix44
fun Matrix44.Companion.translate(translation: Vector3): Matrix44
fun Matrix44.Companion.translate(x: Double, y: Double, z: Double): Matrix44
fun unproject(point: Vector3, projection: Matrix44, view: Matrix44, width: Int, height: Int): Vector3
package org.openrndr.openal
package org.openrndr.platform
package org.openrndr.shape
Module Contents
class Circle
class Color : CompositionColor
class Composition
sealed class CompositionColor
class CompositionDrawer
Module Contents
CompositionDrawer()
fun circle(position: Vector2, radius: Double): Unit
fun circle(circle: Circle): Unit
fun circles(circles: List<Circle>): Unit
fun circles(positions: List<Vector2>, radius: Double): Unit
fun circles(positions: List<Vector2>, radii: List<Double>): Unit
val composition: Composition
fun contour(contour: ShapeContour): Unit
fun contours(contours: List<ShapeContour>): Unit
var fill: ColorRGBa?
fun group(builder: CompositionDrawer.() -> Unit): Unit
fun lineLoop(points: List<Vector2>): Unit
fun lineSegment(start: Vector2, end: Vector2): Unit
fun lineSegment(lineSegment: LineSegment): Unit
fun lineSegments(lineSegments: List<LineSegment>): Unit
fun lineStrip(points: List<Vector2>): Unit
var model: Matrix44
fun popModel(): Unit
fun pushModel(): Unit
fun rectangle(rectangle: Rectangle): Unit
fun rectangle(x: Double, y: Double, width: Double, height: Double): Unit
fun rectangles(rectangles: List<Rectangle>): Unit
fun rectangles(positions: List<Vector2>, width: Double, height: Double): Unit
fun rectangles(positions: List<Vector2>, dimensions: List<Vector2>): Unit
val root: GroupNode
fun rotate(rotationInDegrees: Double): Unit
fun scale(s: Double): Unit
fun scale(x: Double, y: Double): Unit
fun shape(shape: Shape): Unit
fun shapes(shapes: List<Shape>): Unit
var stroke: ColorRGBa?
var strokeWeight: Double
fun text(text: String, position: Vector2): Unit
fun textOnContour(text: String, path: ShapeContour): Unit
fun texts(text: List<String>, positions: List<Vector2>): Unit
fun translate(x: Double, y: Double): Unit
fun translate(t: Vector2): Unit
sealed class CompositionNode
sealed class CompositionStrokeWeight
class Compound
class CompoundBuilder
class ContourBuilder
Module Contents
ContourBuilder()
var anchor: Vector2
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, tx: Double, ty: Double): Unit
fun arcTo(crx: Double, cry: Double, angle: Double, largeArcFlag: Boolean, sweepFlag: Boolean, end: Vector2): Unit
fun close(): Unit
fun continueTo(end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector2, end: Vector2, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, x: Double, y: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector2
fun curveTo(control: Vector2, position: Vector2): Unit
fun curveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun curveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun curveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
fun lineTo(position: Vector2): Unit
fun lineTo(x: Double, y: Double): Unit
fun moveOrCurveTo(control: Vector2, position: Vector2): Unit
fun moveOrCurveTo(cx: Double, cy: Double, x: Double, y: Double): Unit
fun moveOrCurveTo(control0: Vector2, control1: Vector2, position: Vector2): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c1x: Double, c1y: Double, x: Double, y: Double): Unit
fun moveOrLineTo(position: Vector2): Unit
fun moveOrLineTo(x: Double, y: Double): Unit
fun moveTo(position: Vector2): Unit
fun moveTo(x: Double, y: Double): Unit
fun reverse(): Unit
val segments: MutableList<Segment>
class ContourProjection
open class GroupNode : CompositionNode
class GroupNodeStop : GroupNode
class IndexedTriangulation<T>
object InheritColor : CompositionColor
object InheritStrokeWeight : CompositionStrokeWeight
class IntRectangle
class LineSegment
class LineSegment3D
class Path3D
class Path3DBuilder
Module Contents
Path3DBuilder()
var anchor: Vector3
fun close(): Unit
fun continueTo(end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
fun continueTo(control: Vector3, end: Vector3, tangentScale: Double = 1.0): Unit
fun continueTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double, tangentScale: Double = 1.0): Unit
var cursor: Vector3
fun curveTo(control: Vector3, position: Vector3): Unit
fun curveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun curveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun curveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun lineTo(position: Vector3): Unit
fun lineTo(x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control: Vector3, position: Vector3): Unit
fun moveOrCurveTo(cx: Double, cy: Double, cz: Double, x: Double, y: Double, z: Double): Unit
fun moveOrCurveTo(control0: Vector3, control1: Vector3, position: Vector3): Unit
fun moveOrCurveTo(c0x: Double, c0y: Double, c0z: Double, c1x: Double, c1y: Double, c1z: Double, x: Double, y: Double, z: Double): Unit
fun moveOrLineTo(position: Vector3): Unit
fun moveOrLineTo(x: Double, y: Double, z: Double): Unit
fun moveTo(position: Vector3): Unit
fun moveTo(x: Double, y: Double, z: Double): Unit
fun reverse(): Unit
val segments: MutableList<Segment3D>
class PathProjection3D
data class Rectangle
Module Contents
Rectangle(x: Double, y: Double, width: Double, height: Double)
Rectangle(corner: Vector2, width: Double, height: Double)
val area: Double
val center: Vector2
operator fun contains(point: Vector2): Boolean
val contour: ShapeContour
val corner: Vector2
fun fromCenter(center: Vector2, width: Double, height: Double): Rectangle
val height: Double
fun heightScaledTo(fitHeight: Double): Rectangle
fun moved(offset: Vector2): Rectangle
fun offsetEdges(offset: Double, offsetY: Double = offset): Rectangle
fun position(u: Double, v: Double): Vector2
fun scaled(scale: Double, scaleY: Double = scale): Rectangle
val shape: Shape
val width: Double
fun widthScaledTo(fitWidth: Double): Rectangle
val x: Double
val y: Double
class Segment
Module Contents
Segment(start: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, end: Vector2)
Segment(start: Vector2, c0: Vector2, c1: Vector2, end: Vector2)
Segment(start: Vector2, control: Array<Vector2>, end: Vector2)
val bounds: Rectangle
val clockwise: Boolean
val control: Array<Vector2>
fun copy(start: Vector2 = this.start, control: Array<Vector2> = this.control, end: Vector2 = this.end): Segment
val cubic: Segment
fun derivative(t: Double): Vector2
fun direction(): Vector2
fun direction(t: Double): Vector2
val end: Vector2
fun extrema(): List<Double>
fun extremaPoints(): List<Vector2>
fun isStraight(epsilon: Double = 0.01): Boolean
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector2>
fun normal(ut: Double): Vector2
fun offset(distance: Double, stepSize: Double = 0.1): List<Segment>
fun on(point: Vector2, error: Double = 5.0): Double?
fun position(ut: Double): Vector2
fun project(point: Vector2): SegmentProjection
val quadratic: Segment
fun reduced(stepSize: Double = 0.1): List<Segment>
val reverse: Segment
fun sampleAdaptive(distanceTolerance: Double = 0.5): List<Vector2>
fun sampleAdaptiveNormals(distanceTolerance: Double = 0.5): Pair<List<Vector2>, List<Vector2>>
fun scale(scale: Double): Segment
fun scale(scale: (Double) -> Double): Segment
val simple: Boolean
fun split(t: Double): Array<Segment>
val start: Vector2
fun sub(t0: Double, t1: Double): Segment
fun toString(): String
fun transform(transform: Matrix44): Segment
class Segment3D
Module Contents
Segment3D(start: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, end: Vector3)
Segment3D(start: Vector3, c0: Vector3, c1: Vector3, end: Vector3)
Segment3D(start: Vector3, control: Array<Vector3>, end: Vector3)
val control: Array<Vector3>
fun copy(start: Vector3 = this.start, control: Array<Vector3> = this.control, end: Vector3 = this.end): Segment3D
val cubic: Segment3D
fun derivative(t: Double): Vector3
fun direction(): Vector3
fun direction(t: Double): Vector3
val end: Vector3
fun extrema(): List<Double>
fun extremaPoints(): List<Vector3>
val length: Double
val linear: Boolean
fun lut(size: Int = 100): List<Vector3>
fun on(point: Vector3, error: Double = 5.0): Double?
fun position(ut: Double): Vector3
fun project(point: Vector3): SegmentProjection3D
val reverse: Segment3D
fun sampleAdaptive(distanceTolerance: Double = 0.5): List<Vector3>
fun sampleAdaptiveNormals(distanceTolerance: Double = 0.5): Pair<List<Vector3>, List<Vector3>>
fun split(t: Double): Array<Segment3D>
val start: Vector3
fun sub(t0: Double, t1: Double): Segment3D
fun toString(): String
fun transform(transform: Matrix44): Segment3D
enum class SegmentJoin
class SegmentProjection
class SegmentProjection3D
class Shape
class ShapeBuilder
data class ShapeContour
class ShapeNode : CompositionNode
class StrokeWeight : CompositionStrokeWeight
class TextNode : CompositionNode
enum class Winding
fun compound(f: CompoundBuilder.() -> List<Shape>): List<Shape>
fun contour(f: ContourBuilder.() -> Unit): ShapeContour
fun difference(from: ShapeContour, subtract: ShapeContour): List<Shape>
fun difference(from: Shape, subtract: ShapeContour): List<Shape>
fun difference(from: Shape, subtract: Shape): List<Shape>
fun difference(from: List<Shape>, subtract: ShapeContour): List<Shape>
fun difference(from: List<Shape>, subtract: Shape): List<Shape>
fun difference(from: List<Shape>, subtract: List<Shape>): List<Shape>
@JvmName("differenceIterative") fun difference(from: List<Shape>, subtract: List<List<Shape>>): List<Shape>
fun CompositionNode.filter(filter: (CompositionNode) -> Boolean): CompositionNode?
fun intersection(a: LineSegment, b: LineSegment, eps: Double = 0.01): Vector2
fun intersection(a0: Vector2, a1: Vector2, b0: Vector2, b1: Vector2, eps: Double = 0.01): Vector2
fun intersection(from: ShapeContour, with: ShapeContour): List<Shape>
fun intersection(from: Shape, with: ShapeContour): List<Shape>
fun intersection(from: ShapeContour, with: Shape): List<Shape>
fun intersection(from: Shape, with: Shape): List<Shape>
fun intersection(from: List<Shape>, with: ShapeContour): List<Shape>
fun intersection(from: List<Shape>, with: Shape): List<Shape>
fun intersection(from: List<Shape>, with: List<Shape>): List<Shape>
@JvmName("intersectionIterative") fun intersection(from: List<Shape>, with: List<List<Shape>>): List<Shape>
fun intersects(a: Rectangle, b: Rectangle): Boolean
kotlin.collections.List
fun CompositionNode.map(mapper: (CompositionNode) -> CompositionNode): CompositionNode
fun path3D(f: Path3DBuilder.() -> Unit): Path3D
fun rectangleBounds(rectangles: List<Rectangle>): Rectangle
fun sampleEquidistant(pieces: List<Vector2>, count: Int): List<Vector2>
@JvmName("sampleEquidistant3D") fun sampleEquidistant(pieces: List<Vector3>, count: Int): List<Vector3>
fun shape(f: ShapeBuilder.() -> Unit): Shape
fun split(shape: Shape, line: LineSegment): Pair<List<Shape>, List<Shape>>
fun triangulate(shape: Shape, distanceTolerance: Double = 0.5): List<Vector2>
fun triangulateIndexed(shape: Shape, distanceTolerance: Double = 0.5): IndexedTriangulation<Vector2>
@JvmName("triangulateIndexed3") fun triangulateIndexed(vertices: List<Vector3>): IndexedTriangulation<Vector3>
@JvmName("triangulateIndexed2") fun triangulateIndexed(vertices: List<Vector2>): IndexedTriangulation<Vector2>
fun union(from: ShapeContour, add: ShapeContour): List<Shape>
fun union(from: Shape, add: ShapeContour): List<Shape>
fun union(from: Shape, add: Shape): List<Shape>
fun union(from: List<Shape>, add: ShapeContour): List<Shape>
fun union(from: List<Shape>, add: Shape): List<Shape>
fun union(from: List<Shape>, add: List<Shape>): List<Shape>
@JvmName("unionIterative") fun union(from: List<Shape>, add: List<List<Shape>>): List<Shape>
fun vector2Bounds(points: List<Vector2>): Rectangle
package org.openrndr.svg
package org.openrndr.text